您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C语言练习题(山东科技大学吐血整理)
数学11-1C语言平时训练题1、算术基本运算Description计算两整数x和y(0x,y1000)的和、差、积、商、余数、x的平方和y的三次方。Input输入只有一行。Output输出为多行,按顺序每行输出x,y的和、差、积、商、余数、x的平方和y的三次方。SampleInputx=11,y=3SampleOutputx+y:14x-y:8x*y:33x/yquotient:3,remainder:2x^2:121y^3:27Answer#includestdio.hintmain(){intx,y,a,b,c,d,e,f,g;0x1000,0y1000;scanf(x=%d,y=%d,&x,&y);a=x+y;b=x-y;c=x*y;d=x/y;e=x%y;f=x*x;g=y*y*y;printf(x+y:%d\n,a);printf(x-y:%d\n,b);printf(x*y:%d\n,c);printf(x/yquotient:%d,remainder:%d\n,d,e);printf(x^2:%d\n,f);printf(y^3:%d\n,g);return0;}2、求圆的面积和周长Description从键盘输入圆的半径,求圆的面积和周长,圆周率取3.14。Input输入一个浮点型数据,有效数字不会超过十进制的6位。Output输出为两行。第一行为圆的面积,第二行为圆的周长,格式见sample。SampleInput3SampleOutputArea:28.260000Perimeter:18.840000Answer#includestdio.h#definePI3.14intmain(){floatr,s,c;scanf(%f,&r);s=PI*r*r;c=2*PI*r;printf(Area:%f\n,s);printf(Perimeter:%f\n,c);return0;}3、平均值Description求3个数的平均值。Input输入只有一行,为3个较小的整数。Output输出为这3个整数的平均值,保留3位小数。SampleInput123SampleOutput2.000Answer#includestdio.hintmain(){inta,b,c;floatd;scanf(%d%d%d,&a,&b,&c);d=(a+b+c)/3.0;printf(%.3f\n,d);return0;}4、货币兑换Description给出人民币对美元、欧元、日元的当日汇率,求给定金额的人民币能兑换成外币的金额,求给定金额的外币能兑换成人民币的金额。要计算的外币有三种:美元、欧元、日元。Input输入有三行。第一行依次为美元、欧元、日元外币汇率,用空格分开。汇率用100外币为单位,精确到小数点后4位,如668.5200表示“100美元=668.5200人民币”。汇率浮动范围为(0,10000)。第二行为外币金额x,第三行为人民币金额y。x,y均为整数,且0x,y10000。Output输出为两行。第一行为金额为x的美元、欧元、日元兑换成人民币的金额,用空格分开。第二行为金额为y的人民币兑换成美元、欧元、日元的金额,用空格分开。所有金额精确到小数点后两位。SampleInput668.5200908.06857.985215001500SampleOutput10027.8013621.03119.78224.38165.1918784.75Answer#includestdio.hintmain(){doublex,y,a,b,c,d,e,f,g,h,i;scanf(%lf%lf%lf,&a,&b,&c);scanf(%lf,&x);scanf(%lf,&y);d=x/100*a;e=x/100*b;f=x/100*c;g=y/a*100;h=y/b*100;i=y/c*100;printf(%.2lf%.2lf%.2lf\n,d,e,f);printf(%.2lf%.2lf%.2lf\n,g,h,i);return0;}5、求字符的值Description从键盘输入3个字符(不含双字节字符),分别输出每个字符的十进制值(ASCII码)、八进制值和十六进制值。Input输入为3个字符。Output输出为3行。每一行为每个字符(对应输入顺序)的十进制、八进制和十六进制值,用空格分隔开。每个输出的值占3个字符,不足3个字符前面补0。SampleInput0ASampleOutput048060030032040020065101041Answer#includestdio.hintmain(){chara,b,c;scanf(%c%c%c,&a,&b,&c);printf(%.3d%.3o%.3x\n,a,a,a);printf(%.3d%.3o%.3x\n,b,b,b);printf(%.3d%.3o%.3x\n,c,c,c);return0;}6、奇数还是偶数?Description输入一个整数,判读它是奇数还是偶数。Input输入只有一行,为一个100以内的正整数。Output输出为一行。若输入为偶数则输出“even”,奇数输出“odd”。SampleInput30SampleOutputevenAnswer#includestdio.hintmain(){inta;scanf(%d,&a);if(a=0&&a=100){if(a%2==0)printf(even\n);elseprintf(odd\n);}elseprintf(error);return0;}7、绝对值Description求整型数据和浮点型数据的绝对值。Input输入两个数,第一个是整数,第二个是浮点数。Output输出为两行,第一行为整数的绝对值,第二行为浮点数的绝对值,注意浮点数的绝对值不输出无意义的0。SampleInput-11SampleOutput11Answer#includestdio.h#includemath.h#includestdlib.hintmain(){inta,c;doubleb,d;scanf(%d\n%lf,&a,&b);c=abs(a);d=fabs(b);printf(%d\n%g,c,d);return0;}8、简单的打折计算Description商店规定:消费满n元,可以打八八折。设某件商品标价m元,输入购买的件数x,计算出需要支付的金额(单位:元),精确到分。Input输入只有一行,三个整数m、n和x,且0xmn1000。Output输出金额,精确到分。SampleInput953004SampleOutput334.40Answer#includestdio.hintmain(){intm,x,n,a;floatb;scanf(%d%d%d,&m,&n,&x);0x&&xm;xm&&mn;mn&&n1000;a=m*x;if(an)b=0.88*a;elseb=a;printf(%.2f\n,b);return0;}9、判断闰年Description输入一个正整数的年份,判断是否为闰年。Input输入只有一行,为一个10000以内的正整数。Output输出为一行。若输入为闰年偶数则输出“Yes”,否则输出“No”。SampleInput2010SampleOutputNo答案#includestdio.hintmain(){inta;scanf(%d,&a);if(a0&&a10000){if(a%4==0&&a%100!=0)printf(Yes\n);elseif(a%400==0)printf(Yes\n);elseprintf(No\n);}elseprintf(error);return0;}10、水仙花数Description如果一个三位十进制数等于其各位数字的立方和,则称这个数为水仙花数。如:13+53+33=153。Input一个整数x,100=x=999。Outputx是水仙花数,则输出“YES”,否则为“NO”。SampleInput153SampleOutputYESAnswer#includestdio.hintmain(){inta,b,c,d,e;scanf(%d,&a);b=a/100;c=(a-b*100)/10;d=(a-b*100-c*10);e=b*b*b+c*c*c+d*d*d;if(a==e)printf(YES\n);elseprintf(NO\n);return0;}11、三个数比较大小Description从键盘上输入0~100之间的三个数,按从小到大的顺序输出。Input输入只有一行,为三个整数。Output按从小到大输出这三个数。SampleInput151020SampleOutput101520Answer#includestdio.hintmain(){inta,b,c;scanf(%d%d%d,&a,&b,&c);if(a=b){if(b=c)printf(%d%d%d\n,c,b,a);elseif(ac)printf(%d%d%d\n,b,c,a);elseprintf(%d%d%d\n,b,a,c);}else{if(a=c)printf(%d%d%d\n,c,a,b);elseif(b=c)printf(%d%d%d\n,a,c,b);elseprintf(%d%d%d\n,a,b,c);}return0;}12、输出整数的最低两位Description把一个整数的最低两位打印出来,不输出整数的符号。Input输入为一个整数n,不会超出int类型的数据范围。Output输出n的最低两位数字。但是,输入的数字本身不足两位时,不应当补0。如,输入为“1”,则输出为“1”。SampleInput-102SampleOutput02Answer#includestdio.hintmain(){inta,b,c;scanf(%d,&a);if(a=100){b=a-a/100*100;printf(%.2d\n,b);}elseif(a=0){printf(%d\n,a);}elseif(a=-99){printf(%d\n,-a);}else{c=-a;b=c-c/100*100;printf(%.2d\n,b);}return0;}13、判断奇偶数(填空)Description编写一个程序,判断读取的正整数的奇偶性,部分程序已经给出,请填上空白语句,并提交填充后的完整程序。程序(含答案):#includestdio.hintmain(){intnum;scanf(%d,&num);if(num%2==0)printf(%disanevennumber.,num);//num是一个偶数elseprintf(%disanoddnumber.,num);//num是一个奇数return0;}14、求分段函数的值(填空)Description设有分段函数如下:给出N0个x的值,求对应的y值并输出。部分程序已经给出,请填充其中的空白语句,并提交填充后的完整程序。程序(含答案):#includestdio.h#includemath.hintmain(){doublex,y;inti,N;scanf(%d,&N);for(i=0;iN;i++){scanf(%lf,&x);if(x0)y=-x;elseif(x1)y=sin(2*x);elseif(x5)y=sqrt(x*x*x+x);elsey=2*x+10;if(i==0)printf(case1:y=%.6g.,y);elseprintf(\ncase%d:y=%.6g.,i+1,y);}return0;}15、输出是m的倍数或n的倍数、但不是m和n的公倍数的数Description输出1~k之间是m的倍数或n的倍数、但不是m和n
本文标题:C语言练习题(山东科技大学吐血整理)
链接地址:https://www.777doc.com/doc-4637493 .html