您好,欢迎访问三七文档
实验一(1)编程求37+29的值,实习VC环境。#includestdio.hvoidmain(){inta,b,sum;a=37;b=29;sum=a+b;printf(sum=%d,sum);}(2)从键盘输入三个整数,求出最大数并输出。#includestdio.hvoidmain(){inta,b,c,y;intmax(intx,inty);printf(inputa,b,andc:);scanf(%d,%d,%d,&a,&b,&c);y=max(a,b);y=max(y,c);printf(\nmax=%d\n,y);}intmax(intx,inty){intz;if(xy)z=x;elsez=y;return(z);}(3)通过上机实践,运行下列程序并分析输出结果。A程序代码#includestdio.hvoidmain(){charch='a';printf(%c对应的ASCII码是:%d\n,ch,ch);}程序输出结果:a对应的ASC||码是:97B程序代码#includestdio.hvoidmain(){inta=168;floatb=123.456;floatx=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=168b=123.46b=1.234560e+002x=f,y=35.567001C程序代码#includestdio.hvoidmain(){inta=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=𝑏2-4ac的结果并输出。#includestdio.hvoidmain(){floata,b,c,s;a=1.5;b=5.3;c=2.9;s=b*b-4*a*c;printf(s的值是%f\n,s);}2.1.2输入某学生的三个科目的期末考试成绩,计算出该学生的成绩总分和平均分。#includestdio.hvoidmain(){intmath,english,c_program;floatsum,average;printf(inputmath,english,c_program:);scanf(%d,%d,%d,&math,&english,&c_program);sum=math+english+c_program;average=sum/3;printf(sum=%.0f,average=%.5f,sum,average);}2.1.3输入圆的半径,计算圆的面积,设圆周率为3.1416.#includestdio.hintmain(){floatr,s;printf(请输入半径:);scanf(%f,&r);s=3.1416*r*r;printf(圆的面积为%.6f,s);}2.1.4输入一个两位数,将其个位数和十位数互换后变成一个新的数,输出这个数。#includestdio.hintmain(void){intn,a,b;printf(inputn:);scanf(%d,&n);b=n%10;a=n/10;n=b*10+a;printf(%d\n,n);return0;}2.1.5输入两个数a和b,将两数的值互换后输出新值。#includestdio.hvoidmain(){intx,y,t;scanf(%d%d,&x,&y);t=x;x=y;y=t;printf(x=%d,y=%d\n,x,y);}2.2简单分支结构2.2.1输入两个整数,求出其中的较小值输出。#includestdio.hintmain(){inta,b,min;printf(请输入a,b:\n);scanf(%d,%d,&a,&b);if(ab)min=a;elsemin=b;printf(最小值是%d\n,min);return0;}2.2.2输入x的值并计算分段函数y的值。𝑥2+2xx2Y=f(x)=2x-1x=2#includestdio.hintmain(void){doublex,y;scanf(%lf,&x);if(x2)y=x*x+2*x;elsey=2*x-1;printf(%.6f,y);return0;}2.2.3输入两个整数并判断两数是否相等,输出相应结论。#includestdio.hintmain(){inta,b;printf(请输入两个整数:\n);scanf(%d,%d,&a,&b);if(a==b)printf(a等于b);elseprintf(a不等于b);return0;}2.2.4输入一个整数,若为负数,求出它的平方;若为正数,求出它的立方,并输出结果。#includestdio.hvoidmain(){printf(请输入一个整数:);doublex,y;scanf(%lf,&x);if(x0)y=x*x;elsey=x*x*x;printf(y=f(%f)=%f\n,x,y);}2.2.5输入三个整数,用if-else结构求出其中的最大值。提示:首先求出两个数的较大值放在一个变量里,然后用这个变量和第三个数再进行一次比较。#includestdio.hintmain(){inta,b,c,max;printf(请输入三个数);scanf(%d,%d,%d,&a,&b,&c);if(ab)max=a;elsemax=b;if(cmax)max=c;elsemax=a;printf(最大值为%d\n,max);return0;}2.3简单循环结构2.3.1计算1+4+7+…+301。#includestdio.hvoidmain(){inti,sum;sum=0;for(i=1;i=301;i=i+3)sum=sum+i;printf(sum=%d\n,sum);}2.3.2循环输入某学生八个科目期末考试成绩,计算出该学生成绩总分和平均分。#includestdio.hintmain(void){inti,a;floatsum,average;sum=0;for(i=1;i=8;i++){scanf(%d,&a);sum=sum+a;}printf(成绩总分为%f\n,sum);printf(平均分为%f\n,sum/8);return0;}2.3.3输入n的值,计算n!#includestdio.hintmain(void){intn,i,a;a=1;printf(请输入n的值:%d\n);scanf(%d,&n);for(i=1;i=n;i++)a=a*i;printf(积=%d\n,a);return0;}2.3.4显示1~10平方,输出结果如下图所示:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100#includestdio.hintmain(void){inti,a;for(i=1;i=10;i++){a=i*i;printf(%d*%d=%d\n,i,i,i*i);}return0;}2.3.5计算1-3/4+5/7-7/10+…的前n项之和。#includestdio.hvoidmain(){inti,n;floatitem,flag,sum;sum=0;flag=1;printf(inputn:);scanf(%d,&n);for(i=1;i=n;i++){item=flag*(2*i-1)/(3*i-2);sum=sum+item;flag=-flag;}printf(%f\n,sum);}实验三3.1.1输入一个整数x,判定是否为5的倍数。#includestdio.hintmain(void){intx;printf(x=);scanf(%d,&x);if(x%5==0)printf(能整除5);elseprintf(不能整除5);return0;}3.1.2输入x,计算并输入下列分段函数对应的值。-5x0Y=x2+20=x=1x/2x1#includestdio.hintmain(void){floatx,y;printf(x=);scanf(%f,&x);if(x0)y=-5;elseif(x1)y=x/2;elsey=x*x+2;printf(对应值为%.2f\n,y);return0;}3.1.3某商场给顾客购物的折扣率如下:购物金额300元不打折300=购物金额500元9折500元=购物金额7折要求输入一个购物金额(x),输出打折率(rate)以及购物实际付款金额(x*rate)#includestdio.hintmain(void){intx,y;printf(x=);scanf(%d,&x);if(x300){y=x;printf(不打折,付款%d\n,y);}elseif(x=300&&x500){y=0.9*x;printf(打9折,付款%d\n,y);}else{y=0.7*x;printf(打7折,付款%d\n,y);}return0;}3.1.4求解一元二次方程𝐚𝒙𝟐+b𝐱+𝐜=𝟎的实数解。#includestdio.h#includemath.hintmain(void){inta,b,c,d,x1,x2;printf(a=,b=,c=);scanf(%d,%d,%d,&a,&b,&c);d=b*b-4*a*c;if(d0){doublesqrt(doubled);x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf(x1=%d\n,x2=%d\n,x1,x2);}elseif(d=0){x1=(-b+sqrt(d))/(2*a);printf(x1=x2=%d\n,x1);}elseprintf(没有实数解);return0;}3.1.5从键盘输入10个字符,将所有的英文字母转换为大写后输出。#includestdio.hintmain(void){chari,ch;printf(请输入);for(i=1;i=10;i++){ch=getchar();if(ch='a'&&ch='z')ch=ch-32;putchar(ch);}return0;}3.1.6从键盘输入10个字符,统计其中英文字母、空格、数字字符和其他字符的个数。#includestdio.hintmain(void){charch,i;intletter,space,digiter,other;letter=space=digiter=other=0;for(i=1;i=10;i++){ch=getchar();if((ch='a'&&ch='z')||(ch='A'&&ch='z'))letter++;elseif(ch==''||ch=='\n')space++;elseif(ch='0'&&ch='9')digiter++;elseother++;}printf(letter=%d,space=%d,digiter=%d,other=%d\n,letter,space,digiter,other);return0;}3.2.1输入一个四位整数的年份,判断是否为闰年。#includestdio.hintmain(void){intx,a,b,c;printf(输入年份:);scanf(%d,&x);a=x%4;b=x%100;c=x
本文标题:c语言习题答案
链接地址:https://www.777doc.com/doc-2908808 .html