c语言实验习题及答案详解

合集下载

C语言实验7(附参考答案)

C语言实验7(附参考答案)

实验7:程序的输入输出实验目的:1、熟悉字符的输入输出和格式化的输入输出,了解基本规则。

2、进一步熟悉C语言程序的编辑、编译、连接和运行的方法。

实验内容:1、若int a,b; scanf(“%d%d”,&a,&b); 不可以用___A____作为输入的分隔符。

A), B)空格 C)回车 D) TAB键2、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当用户从键盘输入时,正确的数据输入方式是_______。

int a1,a2; char c1,c2;scanf(“%d%d”,&a1,&a2);scanf(“%c%c”,&c1,&c2);A)1020AB<CR> B)10 20<CR>AB<CR>C)10 20 AB<CR> D)10 20AB<CR>3、阅读以下程序,当输入数据的形式为25,13,10<CR> 正确的输出结果为_______。

main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)不确定值4、根据定义和数据的输入方式,输入语句的正确形式为_______。

已有定义:float f1,f2;数据的输入方式:4.523.5A)scanf(“%f,%f”,&f1,&f2);B)scanf(“%f%f”,&f1,&f2);C)scanf(“%3.2f %2.1f”,&f1,&f2);D)scanf(“%3.2f%2.1f”,&f1,&f2);5、以下说法正确的是_______。

A)输入项可以为一实型常量,如scanf(“%f”,3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);D)当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);6、已有定义int x; float y;且执行scanf(“%3d%f”,&x,&y);语句,若从第一列开始输入数据12345 678<回车>,则x的值为_______ ,y的值为_______。

C语言实验册完整答案

C语言实验册完整答案

实验2答案五.程序改错#include<stdi o.h>int main(void){int x=3,y;y = x*x;printf("%d = %d * %d\n",y,x,x); /* 输出*/printf("%d * %d = %d\n",x,x,y);return 0;}六、一般编程题6.1#include<stdio.h>int main(void){int x,y;printf("Input x: ");scanf("%d",&x);printf("Input y: ");scanf("%d",&y);printf("%d + %d = %d\n",x,y,x+y);printf("%d - %d = %d\n",x,y,x-y);printf("%d * %d = %d\n",x,y,x*y);printf("%d / %d = %d\n",x,y,x/y);printf("%d %% %d = %d\n",x,y,x%y);return 0;}6.2#include<stdio.h>int main(void){ float x; double y;printf("Input x: ");scanf("%f",&x);printf("Input y: ");scanf("%lf",&y);printf("%f + %f = %f\n",x,y,x+y);printf("%f - %f = %f\n",x,y,x-y);printf("%f * %f = %f\n",x,y,x*y);printf("%f / %f = %f\n",x,y,x/y);return 0;}6.3#include<stdio.h>int main(void){ char c;printf("Input c: ");scanf("%c",&c);printf("%c\n",c+32);return 0;}6.4#include<stdio.h>int main(void){int celsius,fahr;fahr = 150;celsius = 5*fahr/9 - 5*32/9;printf("fahr = %d, celsius = %d\n", fahr, celsius);return 0;} 如果使用公式9)32(5-⨯=f c 计算结果不一样,celsius = 65。

C语言实验报告题及答案

C语言实验报告题及答案

《C程序设计实验》实验一C程序开发环境(2学时)1.实验目的熟悉C语言的集成开发环境,了解菜单的使用方法;掌握C语言程序上机的编辑、编译、连接、运行的基本步骤;了解C语言程序的结构。

2.实验内容(1)熟悉C语言程序上机的编辑、编译、连接、运行的基本步骤;(2)输入并调试、运行下面的程序。

#include <stdio.h>int main( ){printf ("This is a C program.\n");return 0;}(3)输入并调试、运行下面的程序。

#include <stdio.h>int main( ){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c = max(a,b);printf("max=%d\n",c);return 0;}int max(int x,int y){int z;if (x > y) z = x;else z = y;return(z);}3.实验仪器设备微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

4.问题讨论将printf函数改为print,调试并分析结果。

实验二数据类型、运算符与表达式(2学时)1.实验目的掌握整型、字符型和实型变量的定义和使用;掌握算术运算符的使用;掌握C语言表达式的运算规则。

2.实验内容(1)输入并调试、运行下面的程序。

#include <stdio.h>int main(){char c1,c2;c1=97;c2=98;printf("%c %c\n",c1,c2);printf("%d %d\n",c1,c2);return 0;}(2)输入并调试、运行下面的程序。

#include <stdio.h>int main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);return 0;}3.实验仪器设备微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

C语言实训题及参考答案

C语言实训题及参考答案

C语言实训题及参考答案第一题:编写一个程序,将输入的两个整数进行加法运算,并输出结果。

参考答案:```c#include <stdio.h>int main() {int num1, num2, result;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);result = num1 + num2;printf("加法结果:%d", result);return 0;}```第二题:编写一个程序,判断输入的整数是否为偶数,并输出“是”或“否”。

参考答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("是");} else {printf("否");}return 0;}```第三题:编写一个程序,计算输入字符串的长度,并输出结果。

参考答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];int length;printf("请输入一个字符串:");scanf("%s", str);length = strlen(str);printf("字符串长度:%d", length);return 0;}```第四题:编写一个程序,将输入的字符串反转,并输出结果。

参考答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];int i, length;printf("请输入一个字符串:");scanf("%s", str);length = strlen(str);for (i = length - 1; i >= 0; i--) {printf("%c", str[i]);}return 0;}```第五题:编写一个程序,将输入的数组元素按从小到大的顺序排序,并输出结果。

C语言实验6(附参考答案)

C语言实验6(附参考答案)

实验6:运算符与表达式(5)实验目的:1、熟悉字符的输入输出和格式化的输出,了解基本规则。

2、进一步熟悉C语言程序的编辑、编译、连接和运行的方法。

实验内容:1、 getchar函数的作用是从终端输入____1______个字符。

2、如果从键盘输入字符’a’并按回车键,请写出以下程序运行效果_____a_____。

main(){putchar(getchar());}3、以下程序的输出结果为main(){char c=‘x’;printf(“c:dec=%d,oct=%o,ASCII=%c\n”,c,c,c);}4、以下程序的输出结果为。

main(){int x=1,y=2;printf(“x=%d y=%d *sum*=%d\n”,x,y,x+y);printf(“10 Squared is:%d\n”,10*10);}5、以下程序的输出结果为____________________。

#include <stdio.h>main(){float a=123.456; double b=8765.4567;printf(“(1) %f\n”,a);printf(“(2) %14.3f\n”,a);printf(“(3) %6.4f\n”,a);printf(“(4) %lf\n”,b);printf(“(5) %14.3lf\n”,b);printf(“(6) %8.4lf\n”,b);printf(“(7) %.4f\n”,b);}二、程序设计题1、若a=3,b=4,c=5,x=1.2,y=2.4,u=51274,n=128765,c1=’a’,c2=’b’。

想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。

要求输出的结果如下:□表示空格a=□3□□b=□4□□c=□5x=1.200000,y=2.400000,z=-3.600000x+y=□3.60□□y+z=-1.20□□z+x=-2.40u=□51274□□n=□□□128765c1=’a’□or□97(ASCII)c2=’B’□or□98(ASCII)2、假定有:int a=1,b=2,设计一个程序,将变量a和b的值互换并且输出来。

c语言实验习题及答案详解

c语言实验习题及答案详解

1.数据类型a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.14159 →3.142,10.123456 →10.123)#include<stdio.h>main(){double b,d;printf("请输入一个小数:");scanf("%lf",&b);printf("输出原来的数:%f\n",b);b*=1000;b+=0.5;b=(int)b;d=b/1000;printf("输出现在的数:%.3lf\n0",d);}b.输入一个4位整数,求其得各位数字的平方和;(1234 → 1+4+9+16=30)#include<stdio.h>main(){int n,sum=0,i,t;printf("请输入一个四位整数:\n");scanf("%d",&n);for(i=0;i<4;i++){t=n%10;n/=10;sum+=t*t;}printf("%d\n",sum);}c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码;#include<stdio.h>main(){char ch;ch='A';ch=65;ch=0x41;ch=0101;ch='\101';ch='\x41';}d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz)#include<stdio.h>main(){int i;for(i=65;i<91;i++){printf("%c",i);printf("%c",i+32);}printf("\n");}e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次#include<stdio.h>main(){double f1,f2;f1=10e-30;f2=10e30;printf("%lf\n%lf\n",f1,f2);}f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观察输出结果;#include<stdio.h>void main(){float f;double d;f=3.14159265358979323846264338327950288;d=3.14159265358979323846264338327950288;printf("f=%.20f\nd=%.20lf\n",f,d);}g.输入华氏温度求摄氏温度。

计算机C语言实验报告含答案

计算机C语言实验报告含答案

高级语言程序设计(C语言)实验报告。

………………………………………………………………………………………………一、实验题目: 语句与顺序结构控制程序设计1)编写程序, 已知圆半径radius=1.25,求圆周长和面积。

源代码: 运行结果:#include <stdio.h> d=7.853981#define PI 3.1415926 s=4.908735void main(){float r=1.25,d,s;d=2.0*PI*r;s=PI*r*r;printf("d=%f\n",d);printf("s=%f\n",s);}2)编写程序完成大写字母的小写转换。

源代码: 运行结果:#include <stdio.h> 请输入一个大写字母:H void main() H h{char ch1,ch2;printf("请输入一个大写字母:");ch1=getchar();ch2=ch1+32;printf("%c %c\n",ch1,ch2);}3)任意从键盘输入一个三位整数, 要求正确分离出它的个位、十位和百位数, 并分别在屏幕上显示。

源代码: 运行结果:#include <stdio.h> 请输入一个整数 :123 void main() b=1,s=2,g=3{int a,g,s,b;printf("请输入一个整数: ");scanf("%d",&a);b=a/100;s=(a%100)/10;g=a%10;printf("b=%d,s=%d,g=%d\n",b,s,g);}二、实验题目: 选择结构程序设计程序设计1)设变量a、b、c分别存放从键盘输入的3个整数。

编写程序, 按从大到小的顺序排列这3个整数, 使a成为最大的, c成为最小的, 并且按序输出这3个整数。

c语言习题答案

c语言习题答案

实验一(1)编程求37+29的值,实习VC环境。

#include<stdio.h>void main(){int a,b,sum;a=37;b=29;sum=a+b;printf("sum=%d",sum);}(2)从键盘输入三个整数,求出最大数并输出。

#include<stdio.h>void main(){int a,b,c,y;int max(int x,int y);实用文档printf("input a,b,and c:");scanf("%d,%d,%d",&a,&b,&c);y=max(a,b);y=max(y,c);printf("\nmax=%d\n",y);}int max(int x,int y){int z;if(x>y) z=x;else z=y;return(z);}(3)通过上机实践,运行下列程序并分析输出结果。

A 程序代码#include<stdio.h>void main()实用文档{char ch='a';printf("%c对应的ASCII码是:%d\n",ch,ch);}程序输出结果:a对应的ASC||码是:97实用文档B 程序代码#include<stdio.h>void main(){int a=168;float b=123.456;float x=35.567,y;printf("a=%5d\n",a);printf("a=%-5d\n",a);printf("b=%6.2f\n",b);printf("b=%e\n",b);y=(int)(x*100+0.5)/100.0;printf("x=f,y=%f\n",x,y);}程序输出结果:a=168a=168实用文档b=123.46b=1.234560e+002x=f,y=35.567001C程序代码#include<stdio.h>void main(){int a=168;printf("十进制数%d对应的八进制数是%o\n",a,a);printf("十进制数%d对应的十六进制数是%x\n",a,a); }程序输出结果:十进制数168对应的八进制数是250十进制数168对应的十六进制数是a8实用文档实用文档实验二2.1顺序结构2.1.1已知a=1.5,b=5.3,c=2.9,计算s=-4ac的结果并输出。

C语言实验答案

C语言实验答案

C语言实验答案实验1: C语言基础1. a) 此程序的输出结果是:10 15 20int x = 10;printf("%d ", x++);printf("%d ", ++x);printf("%d", x++);b) 解释:- 在第一个printf语句中,x的值被打印后才执行自增操作,所以输出结果为10;- 在第二个printf语句中,x先自增再打印,所以输出结果为15;- 在第三个printf语句中,x先打印再自增,所以输出结果为20。

2. 此程序的输出结果是:6int a = 10, b = 4, c = 6;printf("%d", ++c + a / --b);解释:- 在表达式中,++c表示先将c自增1,--b表示先将b自减1;- a/--b会先执行除法操作,即10/3,结果为3;- ++c + 3的结果为9;- 因此,最终的输出结果为6。

实验2: 控制结构1. a) 此程序的输出结果是:odd even odd even odd evenfor (int i = 1; i <= 6; i++) {if (i % 2 == 0) {printf("even ");} else {printf("odd ");}}b) 解释:- 在for循环中,i从1逐渐增加到6;- 当i为奇数时,输出"odd ",当i为偶数时,输出"even "; - 因此,最终的输出结果为"odd even odd even odd even"。

2. a) 此程序的输出结果是:1 3 5 7 9int i = 0;while (i < 10) {i++;if (i % 2 == 0) {continue;}printf("%d ", i);}b) 解释:- 在while循环中,i从0逐渐增加到9;- 当i为偶数时,遇到"continue"语句,跳过后续的代码,继续下一次循环;- 当i为奇数时,打印i的值;- 因此,最终的输出结果为"1 3 5 7 9"。

C语言程序设计实验及习题(1-4)

C语言程序设计实验及习题(1-4)

C语⾔程序设计实验及习题(1-4)ffB v vbvv bgbb实验⼀C程序运⾏环境及简单程序的运⾏2.程序改错并调试改正后的程序⑴下列程序的功能为:计算x*y的值并将结果输出,程序中有8处错误,尝试改正并上机调试之(程序以⽂件名sy1_2.cpp#includevoid main{ int x=2;y=3;aA=x*yprint ("a=%d",a);printf(‘\n’);}⑵下列程序的功能为:输⼊圆的半径,计算圆⾯积并将结果输出;程序中有9处错误,尝试改正并上机调试之(程序以⽂件名sy1_3.cpp存盘)。

#include stdio.h;int mian();float r; area;printf("input r:\n"); scanf("%f",r);area=3.14159r*r;printf("r=%f , area=%f\n"3.编写程序并上机调试⑴输⼊三个整数a、b、c,显⽰出其中的最⼤值。

4.分析与总结⑴总结C程序的结构和书写规则。

⑵阅读:附件1-C语⾔程序的跟踪调试。

特别提⽰:当程序在编译时发现很多错误,此时应从上到下逐⼀改正,或改⼀个错误,就重新再编译,因为有时⼀个错误会引起很多错误信息。

习题⼀⼀、选择题参考答案:1~5 C B A C D 6~10 C C A C B 11~14 A A C B⼆、综合题绘制NS 算法流程图。

(1)输⼊10个数,求其中的最⼤值。

(2)输⼊3个数,将它们升序排列输出。

(3)输⼊2个数,求它们的最⼤公约数。

(4)输⼊⼀元⼆次⽅程的系数a 、b 、c ,判断其根。

实验⼆顺序结构程序设计1.阅读程序,尝试写出程序的运⾏结果,然后输⼊并调试程序,对照其实际输出与分析的结果是否⼀致,若不⼀致,请找出原因。

⑴以下程序⽤于测试C中不同类型数据所占内存字节数,运⾏并体会sizeof运算符的使⽤⽅法。

C语言实验题及参考答案

C语言实验题及参考答案

C语⾔实验题及参考答案实验⼀1、计算整数各位数字之和(10 分)输⼊⼀个3位正整数,将其每⼀位的数字相加,输出和。

输⼊格式:输⼊⼀个3位正整数。

变量数据类型为unsigned。

输出格式:输出整数每⼀位相加后的整数和。

输⼊样例:输出样例:【参考答案】#include ""int main(){ unsigned int a,ge,shi,bai,sum;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;sum=ge+shi+bai;printf("%d\n",sum);return 0;}2、计算代数表达式(10 分)求:输⼊格式:输⼊⾓度x。

变量数据类型为double。

π为。

输出格式:输出y的值,精确到⼩数点后2位。

输⼊样例:输出样例:#include <>#include <>#define PIint main(){double x,y;scanf("%lf",&x);y=sqrt((sin(60*PI/180)+1)*(sin(30*PI/180)+1)/cos(x*PI/180));printf("%.2lf",y);return 0;}3、逆序的三位数(10 分)程序每次读⼊⼀个正3位数,然后输出按位逆序的数字。

注意:当输⼊的数字含有结尾的0时,输出不应带有前导的0。

⽐如输⼊700,输出应该是7。

输⼊格式:每个测试是⼀个3位的正整数。

输出格式:输出按位逆序的数。

输⼊样例:输出样例:【参考答案】#include ""int main(){ int a,ge,shi,bai,b;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;b=ge*100+10*shi+bai;printf("%d\n",b);return 0;}4、求整数均值(10 分)本题要求编写程序,计算4个整数的和与平均值。

C语言实验5(附参考答案)

C语言实验5(附参考答案)

实验5:运算符与表达式(4)实验目的:1、熟悉条件运算符、复合赋值运算符的基本运用和规则。

2、进一步熟悉C语言程序的编辑、编译、连接和运行的方法。

实验内容:1、写出下面逻辑表达式的值。

设a=3,b=4,c=5。

①a + b > c && b == c =0②a || b + c && b – c =1③!( a > b ) && ! c || 1 =1④(0||0)||5 =1⑤(10<12)&&! (1>-1) =02、将下面的数学表达式写成C语言逻辑表达式:x大于0,并且X小于等于10 x>=0&&x<=10a或b中有一个大于零__a>0||b>0________3、求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4 =0设x=2.5,a=7,y=4.7(2)(float)(a+b)/2+(int)x%(int)y =0设a=2,b=3,x=3.5,y=2.5先自己分析,再试着用程序求解,看得到的结果是否一致。

4、写出下面表达式运算后a的值,设原来a=10。

设a和n已定义成整型变量。

(1)a+=a =20(2)a-=2 =8(3)a*=2+3 =50(4)a/=a+a =0(5)a%=(n%=2),n的值等于5 =0(6)a+=a-=a*=a =0先自己分析,再试着用程序求解,看得到的结果是否一致。

5、闰年是能够被4整除,但是不能够被100整除,或者能够被400整除,假设年份用变量名year表示,请用表达式写出以上条件。

year%4==0&&year%100!=0||year%400==06、程序填空(已知一个摄氏温度c,要求输出华氏温度f。

公式为f=5/9*c+32.5)main( ){float c,f;c=37.5;f= 5.0/9*c+32.5;printf("%5.2f\n",f);}7、先思考下面程序的输入,然后放到编译器里面去验证,看看是否和自己思考的结果一样,并把正确结果写在程序下文。

C语言程序设计实验与习题答案

C语言程序设计实验与习题答案

2.程序填空(1) 以下程序的功能是计算1~50之间能被7整除的整数之和。

#include<stdio.h>void main(){int i,sum= 0 ;for(i=1; 50 ;i++)if( i%7==0 ) sum+=i;printf("sum=%d\n",sum);}(2) 下面程序接收来自键盘的输入,直到输入<Ctrl>+Z( 值-1) 键为止。

这些字符被原样输出,但若有连续一个以上的空格为时只输出一个空格。

请填空。

#include <stdio.h>void main(){char cx;char front= ’’;while ( (cx=getchar())!= ’\n ’){if (cx!= ’’)putchar(cx);if (cx= = ’’)if (front!= ’’)putchar(cx);front=cx;}}3.程序改错(1) 下列程序的功能是求1+3+5+, 99 的和。

#include <stdio.h>void main( ){ int s, i; ★//int s=0,i;i=1;while(i<=99) s=s+i; ★//{s=s+i;i++;}printf("1+3+5+ , 99 的和是:%d\n",s);}(2) 下面程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。

#include <stdio.h>void main(){ int i,x, y=0; ★//y=1scanf("%d",&x);for(i=2;i<=x/2&&y;i++)if ((x%i)!=0 ) y=0; ★//x%i==0printf("%d\n",y); }4.设计性实验(1)题/* 方法(1)精度控制*/#include <stdio.h>#include <math.h>main(){ int s;...float n,t,pi;t=1; pi=0; n=1.0; s=1;while((fabs(t))>=1e-6){ pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}/* 方法(2)次数控制*/#include <stdio.h>#include <math.h>main(){ int s;long times;float n,t,pi;t=1; pi=0; n=1.0; s=1;for(times=1;times<=1e9;times++){ pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}(2)题main(){int i,j,frame;double wheattal=0;double wheatfnu=1;printf("Please input frame ’s numbers:"); scanf("%d",&frame);for(i=0;i<frame;i++){wheattal+=wheatfnu;wheatfnu+=wheatfnu;}n Total wheattatol ’s timeter\=n%",weheattal/1.40e8); }(3)题/*方法一:使用递推公式n=n+2*/main(){int i,n=1;double s=0,t=1;for(i=1;i<=20;i++){t*=n;s+=t;n+=2;}printf("s=%lf",s);getch();}/*方法二:使用通项公式2*i+1*/main(){int i;double s=0,t=1;for(i=1;i<=20;i++){t*=2*i+1;s+=t;}printf("s=%lf",s);getch();}/*方法三*/#include "stdio.h"main(){long total,sum,m,n,t;total=0;for(m=1;m<=20;m++){sum=1;t=1;for(n=1;n<=m;n++) { sum=sum*t; t=t+2;}total=total+sum;}printf("total=%ld",total);}2.程序填空(1) 以下程序的功能是计算1~50之间能被7整除的整数之和。

c语言程序设计实验题答案

c语言程序设计实验题答案

c语言程序设计实验题答案【篇一:c语言程序设计及实验指导练习及习题参考答案(8--10)】8练习参考答案1、练习8-1. 如果有定义:int m, n = 5, *p = m; 与m = n 等价的语句是 b 。

a.m = *p; b. *p = *n; c. m = n; d. m = **p;8-2. 设计一个程序计算输入的两个数的和与差,要求自定义一个函数sum_diff(float op1, float op2, float *psum, float *pdiff),其中op1 和op2 是输入的两个数,*psum 和*pdiff 是计算得出的和与差。

解答:#include stdio.hint main (void){float op1, op2, sum, diff;void sum_diff(float op1, float op2, float *psum, float *pdiff);printf(“input op1 and op2: “);scanf(“%f%f”, op1, op2);sum_diff(op1, op2, sum, diff);printf(“%f+%f=%f; %f-%f=%f \n”,op1,op2,sum,op1,op2,diff);return 0;}void sum_diff(float op1, float op2, float *psum, float *pdiff){*psum = op1 + op2;*pdiff = op1 – op2;}8-3. 两个相同类型的指针变量能不能相加?为什么?解答:不能。

因为指针变量是一种特殊的变量,指针变量的值存放的是所指向变量的地址,两个地址相加并不能保证结果为一个有效的地址值,因而在c 语言中指针变量相加是非法的。

8-4. 根据表8.2 所示,这组数据的冒泡排序其实循环到第6 遍(即n-2)时就已经排好序了,说明有时候并不一定需要n-1 次循环。

C语言实验参考答案-详细版-安徽大学

C语言实验参考答案-详细版-安徽大学

C语言实验参考答案实验一5、输入并运行自已编写的程序(教材第一章P14 三编程题)。

实验二1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。

#include <stdio.h>main(){float x,y,z,s,t,a;printf(“x,y,z=”);scanf(“%f,%f,%f”,&x,&y,&z);s=x+y+z;t=x*y*z;a=s/3;printf(“s=%f,t=%f,a=%f\n”,s,t,a);}2、编程。

要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后:1)用整数输出这两个数的和、差;2)用长整型输出这两个数的积,用float输出商;3)用整数输出这两个数的余数,用float输出平均值。

#include <stdio.h>{int a,b,he,cha,yu;long ji;float shang,aver;printf(“a,b=”);scanf(“%d,%d”,&a,&b);he=a+b;cha=a-b;ji=(long)a*b;shang=1.0*a/b;yu=a%b;aver=(a+b)/2.0;printf(“a+b=%d,a-b=%d,a*b=%ld\n”,he,cha,ji);printf(“a/b=%f,a%%b=%d,aver=%f\n”,shang,yu,aver);}3. 再次运行程序第2题中的程序,使整数a、b的值分别为10、20,分析程序运行结果,并给出说明。

程序同上。

实验三1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。

例如,输入整数5,程序运行后输出字符5。

#include <stdio.h>{int a;char c;printf(“a=”);scanf(“%d ”,&a);c=a+48;putchar(c);}2、编程。

C语言实验题及参考答案

C语言实验题及参考答案

C语言实验题及参考答案1. 编写一个程序,要求用户输入一个整数n,然后输出1到n的所有整数。

```c#include <stdio.h>int main() {int n;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i++) {printf("%d ", i);}return 0;}```2. 编写一个程序,要求用户输入一个整数n,然后输出1到n的所有奇数。

```c#include <stdio.h>int main() {int n;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i += 2) {printf("%d ", i);}return 0;}```3. 编写一个程序,要求用户输入一个整数n,然后计算1到n的所有整数的和。

```c#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i++) {sum += i;}printf("1到%d的和为%d\n", n, sum);return 0;}```4. 编写一个程序,要求用户输入一个整数n,然后计算1到n的所有奇数的和。

```c#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i += 2) {sum += i;}printf("1到%d的奇数的和为%d\n", n, sum);return 0;}```5. 编写一个程序,要求用户输入一个整数n,然后判断n是否为素数。

C语言实验报告参考答案完整版

C语言实验报告参考答案完整版

C语言实验报告参考答HEN system office room [HEN 16H-HENS2AHENS8Q8-HENH1688]长沙理工大学2010C 语言实验报告参考答案实验一熟悉c 语言程序开发环境及数据描述四、程序淸单1. 编写程序实现在屏幕上显示以下结果:The dress is longThe shoes are bigThe trousers are black答案:#include<>main(){printf (Z/The dress is longArT); printf (zz The shoes are big\rT); printf (zzThe trousers are black'n"); } 2. 改错题(将正确程序写在指定位置)正确的程序为:#include <>main(){printf (,z商品名称 printf CTCL 电视机 printf (”美的空调 printf ("SunRose 键盘 2.编写程序:&二150, b 二20, c 二45,编写求 a/b 、a/c (商)和 a%b 、 3%C (余数)的程序。

答案:#include<>main(){int a, b, c, x, y;d 二150;b 二 20;c=45;x=a/b;y=a/C;printf Ca/b 的商=%d\n", x);价格\『);¥7600\n z/):¥2000\n z ,);Y\n z/);printf ("a/c 的商=%d\n", y);x=a%b;y=a%c;printf Ca/b 的余数=%d\n", x);printf Ca/c 的余数=%d\rT,y);}4.设变量a的值为0, b的值为-10,编写程序:当a>b时,将b赋给C;当乳二b时,将8赋给C。

C语言实验9(附参考答案)

C语言实验9(附参考答案)

实验9:选择结构(2)实验目的:(1)进一步掌握if语句和switch语句;(2)掌握用条件运算符实现选择;(3)掌握选择结构的嵌套,掌握简单的算法。

(4)能灵活应用下列语句:if,if-else,switch,break。

实验内容:1、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是(C)。

A)A%2==1B)!(A%2==0)C)!(A%2)D)A%23、下列程序的运行结果是。

4、根据程序的功能,将以下程序补充完整以下程序计算某年某月有几天。

其中判别闰年的条件是:能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。

请在内填入正确内容。

二、编程:1、(必做)试编程判断输入的正整数是否既是5又是7的整倍数。

若是,则输出yes;否则输出no。

2、(必做)编写一个简单计算器程序,输入格式为:data1op data2。

其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

(要求用switch语句实现)3、(必做)已知银行整存整取存款不同期限的月息利率分别为:2.5%期限一年3.25%期限二年3.85%期限三年4.2%期限五年8.9%期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

比如:有1000块钱,存2年,则二年后的本息和合计1000*(1+0.0325)*(1+0.0325)=1066.06元。

4、(选做)编制程序要求输入整数x、y和z,若x2+y2+z2大于1000,则输出x2+y2+z2千位以上的数字,否则输出三数之和。

5、(选做)编写程序,输入三角型的三条边长,求其面积。

注意:对于不合理的边长输入要输出数据错误的提示信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.数据类型a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;,#include<>main(){double b,d;printf("请输入一个小数:");scanf("%lf",&b);printf("输出原来的数:%f\n",b);b*=1000;b+=;b=(int)b;d=b/1000;printf("输出现在的数:%.3lf\n0",d);}b.输入一个4位整数,求其得各位数字的平方和;(1234 1+4+9+16=30)#include<>main(){int n,sum=0,i,t;printf("请输入一个四位整数:\n");scanf("%d",&n);for(i=0;i<4;i++){t=n%10;n/=10;sum+=t*t;}printf("%d\n",sum);}c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码;#include<>main(){char ch;ch='A';ch=65;ch=0x41;ch=0101;ch='\101';ch='\x41';}d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz)#include<>main(){int i;for(i=65;i<91;i++){printf("%c",i);printf("%c",i+32);}printf("\n");}e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次#include<>main(){double f1,f2;f1=10e-30;f2=10e30;printf("%lf\n%lf\n",f1,f2);}f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值,输出f和d得值,要求保留20位小数,观察输出结果;#include<>void main(){float f;double d;f=;d=;printf("f=%.20f\nd=%.20lf\n",f,d);}g.输入华氏温度求摄氏温度。

转换公式为c=5/9(f-32),输出结果取两位小数。

#include<>main(){double f,c;printf("请输入一个华氏温度:");scanf("%lf",&f);c=*(f-32);printf("输出摄氏温度c:%.2f\n",c);}2.分支结构a.输入三角形得三个边的边长,以此判断能否组成三角形,是什么形状的三角形;(等边三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形)#include <>void main(){double a,b,c;scanf("%lf%lf%lf",&a,&b,&c);if(a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a){if(a==b && b==c)printf("等边三角形!\n");else if((a*a+b*b)==c*c || (a*a+c*c)==b*b || (b*b+c*c)==a*a){if(a==b||b==c||a==c)printf("等腰直角三角形!\n");elseprintf("直角三角形!\n");}else if(a==b||b==c||a==c)printf("等腰三角形!\n");elseprintf("普通三角形!\n");}else printf("用户输入错误!\n");}b.输入一个年份值,判断是否为闰年;#include <>main(){int n;printf("输入年份:");scanf("%d",&n);if (n%4==0&&n%100!=0||n%400==0)printf("闰年\n");else printf ("不是闰年\n");}c.输入a、b、c三个整型变量,分别使用if语句和条件运算符求出三个数的最大值和最小值;1. #include<>main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);if(a>b&&b>c)printf("max=%d,min=%d",a,c);else if(c>a&&a>b)printf("max=%d,min=%d",c,b);else if(a>c&&c>b)printf("max=%d,min=%d\n",a,b);else if(c>b&&b>a)printf("max=%d,min=%d\n",c,a);else if(b>c&&c>a)printf("max=%d,min=%d\n",b,a);elseprintf("max=%d,min=%d\n",b,c);}2. #include<>main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);printf("max=%d,min=%d\n",(a>b(c>ac:a):(c>bc:b)),(a<b(c<ac:a):(c<bc:b)));}d.输入任意实数,求出其所对应的函数值(调用数学函数库)。

z=e的x次幂(x>10)z=log(x+3) (x>-3)z=sin(x)/((cos(x)+4)/*d. 输入任意实数,求出其所对应的函数值(调用数学函数库)。

z=e的x次幂(x>10)z=log(x+3) (x>-3)z=sin(x)/((cos(x)+4)*/#include<>#include<>main(){double x,z;printf("输入任意实数x:");scanf("%lf",x);if(x>10)z=exp(x);if(x>-3)z=log(x+3) ;if(x<=-3)z=sin(x)/(cos(x)+4);printf("z=%lf",z);}e.输入一个成绩,输出此成绩对应的级别;(优、良、中、及格、不及格),要求分别使用if语句和switch语句;#include<>main(){int a;scanf("%d",&a);if(a>100)printf("输入错误\n");if(a<=100){ if(a>=90)printf("优\n");else if(a>=80)printf("良\n");else if(a>=70)printf("中\n");else if(a>=60)printf("及格\n");elseprintf("不及格\n");}}#include<>main(){int a,b;scanf("%d",&a);b=a/10;switch(b){case 10:case 9:printf("优\n");break;case 8:printf("良\n");break;case 7:printf("中\n");break;case 6:printf("及格\n");break;default :printf("不及格\n");}}f.判断一个字符是否为字母或者数字;#include <>main(){char t;scanf("%c",&t);if(t>='a'&&t<='z'||t>='A'&&t<='Z'||t>='0'&&t<='9')printf("是母或者数字");else printf("不是字母或者数字");}g.使用条件运算符实现让c等于a、b中较大的,d等于a、b中较小的,e等于a的绝对值。

#include<>main(){int a,b,c,d,e;scanf("%d%d",&a,&b);c=a>ba:b;d=a<ba:b;e=a>-aa:-a;printf("c=%d\nd=%d\ne=%d\n",c,d,e);}h.读入一元二次方程的三个系数,a,b,c,求出各种情况下方程的根,无解或输入数据不正确输出提示信息#include<>void main(){float a,b,c;printf("请输入a、b和c的值:");scanf("%f%f%f",&a,&b,&c);if(a==0)printf("数据输入不正确!\n");else{if(b*b-4*a*c>0)printf("方程有两个不等实根!\n");else{if(b*b-4*a*c==0)printf("方程有两个相等实根!\n");elseprintf("方程无解!\n");}}}3.循环结构a.编写程序实现1+2+3+4+......+n,n由用户输入;#include<>main(){int n,i,sum=0;printf("请输入n;");scanf("%d",&n);for(i=1;i<=n;i++)sum+=i;printf("%d\n",sum);}b.修改程序1,实现1+3+5+7+9+......2*n-1;#include<>main(){int n,i,sum=0;printf("请输入n;");scanf("%d",&n);for(i=1;i<=n;i++)sum+=(2*i-1);printf("%d\n",sum);}c.修改程序1,实现2+4+6+8+10+......2*n;#include<>main(){int n,i,sum=0;printf("请输入n;");scanf("%d",&n);for(i=1;i<=n;i++)sum+=2*i;printf("%d\n",sum);}d.修改程序2,实现1+1/3+1/5+1/7+......1/(2*n-1);include<>main(){int n,i,t=0;double sum=;printf("请输入n;");scanf("%d",&n);for(i=1;i<=n;i++){t=(2*i-1);sum+=t;}printf("%f\n",sum);}e.修改程序4,实现1-1/3+1/5-1/7+......1/(2*n-1);#include<>main(){int n,i,t=0,k=-1;double sum=;printf("请输入n;");scanf("%d",&n);for(i=1;i<=n;i++){k*=-1;t=k*(2*i-1);sum+=t;}printf("%f\n",sum);}f.编程实现1*2*3*4*5*.....n;#include<>main(){int n,i,sum=1;printf("请输入n:");scanf("%d",&n);for(i=1;i<=n;i++)sum*=i;printf("%d\n",sum);}g.编程实现输入n,判断n是不是质数;#include ""int fun(int n){int i,k=1;if(n<=1) k=0;for(i=2;i<n;i++)if(n%i==0) k=0;return k;}main(){int n,k=0;printf("输入一个数n:");scanf("%d",&n);if(fun(n)==1)printf("是质数\n");else printf("不是质数\n");}h.求sum=d+dd+ddd+……+dd...d(n个d),其中d为1-9的数字,d和n输入。

相关文档
最新文档