ImageVerifierCode 换一换
格式:DOCX , 页数:51 ,大小:34.12KB ,
资源ID:11860100      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11860100.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言练习题山东科技大学吐血整理.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言练习题山东科技大学吐血整理.docx

1、C语言练习题山东科技大学吐血整理数学11-1 C语言平时训练题1、算术基本运算Description计算两整数x和y(0x,y1000)的和、差、积、商、余数、x的平方和y的三次方。Input输入只有一行。Output输出为多行,按顺序每行输出x,y的和、差、积、商、余数、x的平方和y的三次方。Sample Inputx = 11, y = 3Sample Outputx + y : 14x - y : 8 x * y : 33x / y quotient: 3, remainder: 2x 2 : 121y 3 : 27Answer#include int main() int x,y,a,

2、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 : %dn,a); printf(x - y : %dn,b); printf(x * y : %dn,c); printf(x / y quotient: %d, remainder: %dn,d,e); printf(x 2 : %dn,f); printf(y 3 : %dn,g); return 0;2、求圆的面积和周长Description从键盘

3、输入圆的半径,求圆的面积和周长,圆周率取3.14。Input输入一个浮点型数据,有效数字不会超过十进制的6位。Output输出为两行。第一行为圆的面积,第二行为圆的周长,格式见sample。Sample Input3Sample OutputArea: 28.260000Perimeter: 18.840000Answer#include#define PI 3.14int main() float r,s,c; scanf(%f,&r); s=PI*r*r; c=2*PI*r; printf(Area: %fn,s); printf(Perimeter: %fn,c); return 0;3

4、、 平均值Description求3个数的平均值。Input输入只有一行,为3个较小的整数。Output输出为这3个整数的平均值,保留3位小数。Sample Input1 2 3Sample Output2.000Answer#include int main() int a,b,c; float d; scanf(%d %d %d,&a,&b,&c); d=(a+b+c)/3.0; printf(%.3fn,d); return 0;4、货币兑换Description给出人民币对美元、欧元、日元的当日汇率,求给定金额的人民币能兑换成外币的金额,求给定金额的外币能兑换成人民币的金额。要计算的外

5、币有三种:美元、欧元、日元。Input输入有三行。第一行依次为美元、欧元、日元外币汇率,用空格分开。汇率用100外币为单位,精确到小数点后4位,如668.5200表示“100美元=668.5200人民币”。汇率浮动范围为(0,10000)。第二行为外币金额x,第三行为人民币金额y。x,y均为整数,且0x,y10000。Output输出为两行。第一行为金额为x的美元、欧元、日元兑换成人民币的金额,用空格分开。第二行为金额为y的人民币兑换成美元、欧元、日元的金额,用空格分开。所有金额精确到小数点后两位。Sample Input668.5200 908.0685 7.985215001500Samp

6、le Output10027.80 13621.03 119.78224.38 165.19 18784.75Answer#include int main() double x,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 %.2lfn,d,e,f); printf(%.2lf %.2lf %.2lfn,g,h,i)

7、; return 0;5、 求字符的值Description从键盘输入3个字符(不含双字节字符),分别输出每个字符的十进制值(ASCII码)、八进制值和十六进制值。Input输入为3个字符。Output输出为3行。每一行为每个字符(对应输入顺序)的十进制、八进制和十六进制值,用空格分隔开。每个输出的值占3个字符,不足3个字符前面补0。Sample Input0 ASample Output048 060 030032 040 020065 101 041Answer#include int main() char a,b,c; scanf(%c%c%c,&a,&b,&c); printf(%.

8、3d %.3o %.3xn,a,a,a); printf(%.3d %.3o %.3xn,b,b,b); printf(%.3d %.3o %.3xn,c,c,c); return 0; 6、 奇数还是偶数?Description输入一个整数,判读它是奇数还是偶数。Input输入只有一行,为一个100以内的正整数。Output输出为一行。若输入为偶数则输出“even”,奇数输出“odd”。Sample Input30Sample OutputevenAnswer#include int main() int a; scanf(%d,&a); if(a=0&a=100)if (a%2=0) pr

9、intf(evenn); else printf(oddn); else printf(error); return 0; 7、绝对值Description求整型数据和浮点型数据的绝对值。Input输入两个数,第一个是整数,第二个是浮点数。Output输出为两行,第一行为整数的绝对值,第二行为浮点数的绝对值,注意浮点数的绝对值不输出无意义的0。Sample Input-11Sample Output11Answer#include #include #include int main() int a,c; double b,d; scanf(%dn%lf,&a,&b); c=abs(a); d

10、=fabs(b); printf(%dn%g,c,d); return 0; 8、简单的打折计算Description商店规定:消费满n元,可以打八八折。设某件商品标价m元,输入购买的件数x,计算出需要支付的金额(单位:元),精确到分。Input输入只有一行,三个整数m、n和x,且0xmn1000。Output输出金额,精确到分。Sample Input95 300 4Sample Output334.40Answer#include int main() int m,x,n,a; float b; scanf(%d%d%d,&m,&n,&x); 0x&xm; xm&mn; mn&nn) b=

11、0.88*a; else b=a; printf(%.2fn,b); return 0; 9、 判断闰年Description输入一个正整数的年份,判断是否为闰年。Input输入只有一行,为一个10000以内的正整数。Output输出为一行。若输入为闰年偶数则输出“Yes”,否则输出“No”。Sample Input2010Sample OutputNo答案#include int main() int a; scanf(%d,&a); if (a0&a10000) if (a%4=0&a%100!=0) printf(Yesn); else if (a%400=0) printf(Yesn)

12、; else printf(Non); else printf(error); return 0; 10、 水仙花数Description如果一个三位十进制数等于其各位数字的立方和,则称这个数为水仙花数。如:13+53+33=153。Input一个整数x,100=x=999。Outputx是水仙花数,则输出“YES”,否则为“NO”。Sample Input153Sample OutputYESAnswer#include int main() int a,b,c,d,e; scanf(%d,&a); b=a/100; c=(a-b*100)/10; d=(a-b*100-c*10); e=b

13、*b*b+c*c*c+d*d*d; if(a=e) printf(YESn); else printf(NOn); return 0; 11、 三个数比较大小Description从键盘上输入0100之间的三个数,按从小到大的顺序输出。Input输入只有一行,为三个整数。Output按从小到大输出这三个数。Sample Input15 10 20Sample Output10 15 20Answer#include int main() int a,b,c; scanf(%d %d %d,&a,&b,&c); if (a=b) if (b=c) printf(%d %d %dn,c,b,a);

14、 else if (ac) printf(%d %d %dn,b,c,a); else printf(%d %d %dn,b,a,c); else if (a=c) printf(%d %d %dn,c,a,b); else if (b=c) printf(%d %d %dn,a,c,b); else printf(%d %d %dn,a,b,c); return 0;12、 输出整数的最低两位Description把一个整数的最低两位打印出来,不输出整数的符号。Input输入为一个整数n,不会超出int类型的数据范围。Output输出n的最低两位数字。但是,输入的数字本身不足两位时,不应当补

15、0。如,输入为“1”,则输出为“1”。Sample Input-102Sample Output02Answer#includeint main() int a,b,c; scanf(%d,&a); if(a=100) b=a-a/100*100; printf(%.2dn,b); else if(a=0) printf(%dn,a); else if(a=-99) printf(%dn,-a); else c=-a; b=c-c/100*100; printf(%.2dn,b); return 0;13、判断奇偶数(填空)Description编写一个程序,判断读取的正整数的奇偶性,部分程序

16、已经给出,请填上空白语句,并提交填充后的完整程序。程序(含答案):#include int main() int num; scanf(%d,&num); if (num%2=0) printf(%d is an even number.,num);/num是一个偶数 else printf(%d is an odd number.,num);/num是一个奇数 return 0;14、求分段函数的值(填空)Description设有分段函数如下:给出N0个x的值,求对应的y值并输出。部分程序已经给出,请填充其中的空白语句,并提交填充后的完整程序。程序(含答案):#include #inclu

17、de int main() double x,y; int i,N; scanf(%d,&N); for (i=0;iN;i+) scanf(%lf,&x); if (x0) y=-x; else if (x1) y=sin(2*x); else if (x5) y=sqrt(x*x*x+x); else y=2*x+10; if (i=0) printf(case 1:y=%.6g.,y); else printf(ncase %d:y=%.6g.,i+1,y); return 0;15、输出是m的倍数或n的倍数、但不是m和n的公倍数的数Description输出1k之间是m的倍数或n的倍数

18、、但不是m和n的公倍数的数,其中1=m,nk100,且m与n不相等。Input输入三个整数,依次为k、m、 n。Output从小到大输出符合题意的所有整数,两数之间用一个空格分开。Sample Input15 2 3Sample Output2 3 4 8 9 10 14 15Answer#includeint main() int k,m,n,a,i=1; scanf(%d %d %d,&k,&m,&n); if(mn) a=m; else a=n; printf(%d,a); for(i=a+1;i=k;i+) if(i%m=0&i%n!=0)|(i%n=0&i%m!=0) printf(

19、 %d,i); return 0;16、A+B ProblemTDescription计算a+b,0=a,b1000。Input输入有多对整数a和b组成,每对a和b占一行,a,b用空格分开。Output每行输出一个a+b的值,顺序与输入对应。Sample Input1 210 20Sample Output330Answer#includeint main() int a,b; while(scanf(%d %d,&a,&b)!=EOF) printf(%dn,a+b); return 0;17、A+B Problem (II) : Input/Output PraticeDescriptio

20、n计算a+b,0=a,b1000。Input输入的第一行是一个整数N,后面有N对整数a和b,每对a和b占一行,a,b用空格分开。Output每行输出一个a+b的和,顺序与输入对应。Sample Input21 210 20Sample Output330Answer#includeint main() int a1000,b1000,N,i; scanf(%d,&N); for(i=1;i=N;i+) scanf(%d %d,&ai,&bi); for(i=1;i=N;i+) printf(%dn,ai+bi); return 0;18、成绩的等级Description把百分制的考试成绩转换成

21、五级制的成绩:90100:Excellent8089:Good7079:Average6069:Pass059:Failing不在0100之间的输入是非法数据,输出“Error”。Input输入多行,每行一个整数。Output输入所对应的成绩等级。Sample Input-18192356872100Sample OutputErrorGoodExcellentFailingPassAverageExcellentAnswer#include int main() int score; while(scanf(%d,&score)!=EOF) if (score100) printf(Erro

22、rn); else switch (score/10) case 0: case 1: case 2: case 3: case 4: case 5:printf(Failingn);break; case 6:printf(Passn);break; case 7:printf(Averagen);break; case 8:printf(Goodn);break; case 9: case 10:printf(Excellentn);break; return 0;19、n个数的最大值和最小值Description找出n个数中最大的数和最小的数,并将它们的值输出出来。Input输入为n+1

23、个整数,都在int类型范围内。这些数可能用若干空格或者换行符分隔开。输入的第1个数为n,表示后续有n个数输入。从输入的第2个数开始,求出直到第n+1个数中最大的数和最小的数。Output输出为两行,格式见sample。Sample Input3 0 1 -1Sample OutputThe maximum number is 1.The minimum number is -1.Answer#includeint main() int n,i,max,min; scanf(%d,&n); int an; for(i=0; in; i+) scanf(%d,&ai); max=a0; min=a

24、0; for(i=0; in; i+) if(maxai) min=ai; printf(The maximum number is %d.n,max); printf(The minimum number is %d.,min); return 0;20、字符加密DescriptionTom和Jack是密码学爱好者,他们在聊天时经常使用一些暗语。他们使用的一种最简单的暗语是:将要说的每句话里面的英文字母变成这个字母之后的某个字母。现在要求你写一个程序,将一个字母变成它之后的某个字母。Input输入有2个:一个大写字母c和一个正整数d(0d26)。其中c是要进行变换的字母,d表示要将c变成其后

25、面第d个字母。Output输出字母c之后的第d个字母。大小写与c一致。如果c之后的某个字母已经超出Z,则再从字母A开始计数。如:c=A,d=3,则输出应为:D。若:c=Y,d=3,则输出应为:B。Sample InputA 3Sample OutputDAnswer#includevoid main() int d,x; char c; scanf(%c,&c); scanf(%d,&d); x=c+d; c=c+d; x=90?printf(%c,c):printf(%c,x-26); 21、求100以内的素数Description素数是只能被1和自身整除的正整数,根据数学定义1不是素数。素数也叫质数。Input输入为两个整数m和n,满足0=m=n=100。Output从大到小输出mn之间的所有素数,一个素数一行。如果mn之间没有素数,则不输出任何数。输出的所有数在两行“=”之间。Sample Input2 12Sample Output=117532=Answer#include#includeint main()int m,n,i,j,k,t;scanf(%d %d,&m,&n);/2 12printf(=n); for(i=n;i=m;i-) t=0; for(j=2;j1) printf(%dn,i); printf(=);retu

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1