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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言练习题及答案docx.docx

1、C语言练习题及答案docx1 己知三角形的三边长为d, b, C,计算三角形面积的公式为:area=sqrt (s (s-a) (s-b) (s-c) 其中 s=(a+b+c)/2o试編程从键盘输入a, b, c的值(假设a, b, c的值可以保证其构成一个三角形),计算并输出三角形的面积。*输入格式要求:鮎f%f,鮎厂 提示信息:Input a, b, c*输出格式要求:area = %. 2fn*程序运行示例如下:Input a, b, c:3, 4, 5area = 6. 00答案:#include# includeint main(void)float az bz c, s, area

2、;printf(nlnput a/b/c:n);scanf(,%f/%t%f,/ &a, &b, &c);s = (a + b + c) / 2;area = sqrt(s*(s - a)拿(s b)*(s c);printf(area = %.2fn/ area);return 0; 12从键盘任意输入一个4位整数,编程计算并输出它的逆序数例如:输入1234,分离出千位J百位2、十位3和个位4,然后计 4*1000+3*100+2*10+1=4321,并输出 4321。材要求输入提示信息为:无粋要求输入格式为:%d林要求输出格式为:3d程序运行示例如下:1234 此处为输入4321 此处为输

3、出答案:#in cludeint main(void)int a, bz c, d,e;scanf(”d:&a);b = a/1000;c = a%1000/100;d = a%100/10;e = a%10;a = e*1000+d*100+c*10+b;printfC,%dM,a);return 0;3 有关输入输出问题。输入为:12aZb/运行结果为:1, 2, a, b, 123. 300000, 65535谙改正程序中的错误,使它能得出正确的结果。林include ma i n ()int b;unsigned short a = 65535;short k = a;char c,

4、d:int f, g;b = (1234.0 - 1) / 10;sesnf &c);scanf (We, &d):scanf (鴛d, &);scanf*(曙d, &g);printf (%c,%c, %c,%c, %F,Wd, c, d , f, g, b, k):答案:ftinclude main()double b;int a = 65535;char c, d;int f. g;b = (1234.0- 1)/10;scanfc蔦 &c);scanf(,%c,/ &d);scanf(”cU &f);scanf(,%c/ &g);printf(,%cz%cz%c/%c/%f/%d,/

5、c,d,f, g, b, a);4输入一行字符,统计其中的英文字符、数字字符、空格字符,以及其他字符的个数。请找出以下程序的错误,并改正之。存include include string.hdefine ARR _STZE = 80;ma i n ()char strARR_SIZE:int len, i;int letter, digi t=0, space=0, other=0:printf (谙输入一个字符串:);gets(str);len = strlen(str);for (i=0; ilen; i+)if (a=stri=z | A=stri=Z)letter +;else if

6、(0=stri )space +;elseother +;print英文字符数:%dnz letter):printfC数字字符数:%dn digit);printf C空格数dn, space):printf (z,其他字符数:%dnz other);答案:#include define ARR SIZE 80 ma i n ()char strARR_STZE:int len, i;int letter = 0, digit = 0, space = 0, other = 0:printf (谙输入一个字符串:);gets(str);len = strlen(str);for (i = 0

7、; ilen; i+)if C a = stri&stri = / 11 A = stri&stri = Z)letter+;else if (O = stri & stri= 9)digil+;else if ( stri=)space+;elseother+;printf (z,英文字符数:%dnz letter):printfC数字字符数:%dn digit):printf C空格数:%dn, space);printf (z,其他字符数:%dnz other);5对输入的一个数判断是否妊索数.所谓索数超指这个数只能被1和自身整除。要求在主函数输入一个数,调用函数Fun()判断 该数是否

8、是素数。打印信息在主函数中进行。例如:从键盘输入5, 5是素数则打印如卜-信息:5 is a prime number又如: 从键盘输入4, 4不是素数则打卬如下信息:4 is not a prime number负数、0和1均不是素数。对输入的数据要考虑数据 的合法性,不满足条件的数要重新输入直到满足条件为止。不能使用全局变量,不按给定的函数原型编写程序不给分。Fun()函数原型为:int Fun(int m):*输入数据提示信息:Please input a number:n粋输入数据格式为:羯*输出格式要求:若是索数输出数据格式为:*%d is a prime numbernw若不是索数

9、输出数拯格式为:%d is not a prime numbern不完號答案:#includeint Fun(int a)int i;if(al)ford = 2;ia;i+)if(a%i=0)return 0;elsecontinue;return 1;elsereturn 0;main()int b, c;printf(Please input a number:n):scanf(鮎d, &b);c = Fun(b);if(0 = c)printf C*%d is not a prime numbern*, b):elseprintrC%d is a prime numbern, b):参

10、考答案:include sldio.hint Fun(int m):int main()int m, flag;printf(Please input a number:n):whi1e (m 2); /el flag = Fun(m); /3 if (flag) /Iprintf C%d is a prime numbern*, m);elseprintf(”d is not a prime numbern, m); /Ireturn 0:int Fun(int m)/2int i, flag = 1; /Ifor (i = 2; i m; i+) /Iif (m % i = 0) /Ifl

11、ag = 0; /Ibreak;return flag;/2 56求 1898现將不超过2000的所有素数从小到大排成第一行,.第二行上的每个数都等于它“右肩”上的素数与“左肩”上的素数Z差。请编程求出:第二行数中是否存在这样的若干个连续的整数,它们的和恰好是1898?假如存在的话,又有几种这样的情况?*输入格式耍求:提示信息:There are follwing primes in first row :n?,*输出格式要求:(%d). %3d, %d程序运行示例如下:There arc foilwing primes in first row :(1) 101, 1999(2). 89,

12、1987(3). 53, 1951(4). 3, 1901答案:include define N 330int aN;int main()int c = 0, b = 0, d = 1:int i = 0, j = 0, k = 0; for (i = 3;i = 2000;i+) for (j = 2;j ;for (c = 329;c = 0;c-)for (b = c + 1;c b;b+)if (b 330)if (ab 一 ac) = 1898)printfC(%d).%3d %dn, d, ac, ab);d+;elsecontinue;elsebreak;7.从键盘任意输入一个整

13、数m,若m不是素数,则对m进行质因数分解,并将m表示为质因数从小到大顺序排列的乘积形式输出, 否则输出It is a prime number.例如,用户输入90时,程序输出90 = 2 *3*3*5;用户输入17时,程序输出It is a prime number*o输入提示信息:Input m:输入格式:先d输出格式:是素数时输出It is a prime numbern否则输出用Wd = 驾d *运行示例1:Tnput m:90Z90=2*3*3*5运行示例2:Input m:13/It is a prime number答案:include #include int TsPrimc(i

14、nt x);void OutputPrimeFactor(int x):int main()int m;printf(Tnput m:);scanf &id);if(IsPrime(m)printf(It is a prime numberXn):elseprintf C%d = , m);Ou t pu t Pr i mcFiic t o r (m);return 0:int IsPrime(int x)int i, flag=l;int squarcRoot=sqrt(x):if(x=!)flag=0;for (i=2:i =squarcRoot& T1ag:i+)if(x%i=0)fla

15、g=0;return flag;void OutputPrimeFactor(int x)int i;for(i=2;ix;i+)if(x%i=0)printf C%d , i);OutputPrimeFactor (x/i);return;printf r%d, x); 7&将任一整数转换为二进制形式。*输入格式要求d提示信息:,zInput number/7*输出格式要求:numbcr of decimal form:%d its binary form:程序运行示例如下:Input number:876number of decimal form:876its binary form:

16、00000000000000000000001101101100答案:#inelude #include int mainOint a;char b32;printf (z,Input number/);scanf(%d, &a);printf (z,nuniber of decimal form:%dnz,, a):printf(z, its binary form: ”);printf(%sn, itoa(a, b, 2); 89.求自然数n最近的素数k, kn。*输入提示信息*: Input n:*输入数据格式%d*输出数据格式細:理d示例输入:257输出:Please input n:

17、263答案:#includeint inain()int n, i 二 1, k;printfCPlcasc input n:);scanf &n);for (k = n + l;i;k+)for (i = 2;i k;i+)if (k%i = 0)break;elsecontinue;if (i = k)printf k);i = 0;break; 910.如果一个正整数ni的所有小于ni的不同因子(包括1)加起来止好等于m本身,那么就被称它为完全 数。它是指这样的一些特殊的口然数,它所有的真因子(即除了自身以外的约数)的和,恰好等于它 本身。注意:1没有真因子,所以不是完全数。例如,6就是

18、一个完全数,是因为6 =1+2 + 3。请编写一个判断完全数的函数IsPerfect (),然后判断从键盘输入的整数是否是完全数。要求:按如下原型编写判断完全数的函数,若函数返冋0,则代表不是完全数,若返冋1,则代表是 完全数。int IsPcrfcct(int x);*要求输入提示信息为:Input m:rT粋要求输入格式为:%*要求输出格式为%d is a perfect numbern,/is not a perfect numbcrn,/注:不能使用指针.结构体.共用体.文件.goto.枚举类型进行编程,主函数不能使用int main 和 return 0。答案:#includeint

19、 TsPerfect(int x);int main()int m;printf(Input m:rT);scanf (%d, &【n);if (IsPerfect(m)printf (z,%d is a perfect numbern, m);elseprintf (z,%d is not a perfect numbernz,, m);int IsPerfect(int x)int i = 1, b = 0;for (i = 1:i x;i+)if (x%i 二二 0)b = b + i;continue;elsecontinue;if (b = x)return 1;elsereturn

20、 0; 1011.用函数编程计算两整数的最人值,在主函数中调用该函数计算并输出从键盘任意输入的两整数的最人 值。*输入格式要求:提示信息:Input a,b/*输出格式要求:max = %dn程序运行示例如下:In put a, b:5, 8max = 8答案:ttincludc int max(int a, int b)辻(a = b)return a;elsereturn b;main 0int a = 0, b = 0;printf (Iriput a, b:);scanf (%d, %d, &a, &b); printf Cmax = %dn, max (a, b); 1112.利用求

21、阶乘函数FactO,编程计算并输出1! + 2! + n!的值。*输入格式要求:”%u提示信息:Input n (n0):*输出格式要求:sum = %lun答案:#include int sum s(int i);main 0unsigned int n = 0;unsigned long b 二 0;printf(,zTnput n(n0):);scanf &n);for (b; n; n一)b = b +sum_s(n);printf(sum = %lun, b);int sum s(int i)int a;for(a 二 1;i;i)if (i 1)a = a * i;el sea =

22、 a * 1; return a;办公室管理 教务管理 科研管理 人事管理 退出系统财务管理 图书管理 设备管理 后勤管理请您在上述功能屮选择(0 8):提示:输出如下格式=大学信息管理系统=printf (“0.退出系统n);printf C n);printf(”请您在上述功能中选择(0 8) :n);14.利用静态变量计算n的阶乘。*输入格式要求:側提示信息:Input n:*输出格式要求:%d! = %ldn程序运行示例如下:Input n:101! = 12! = 23! = 64! = 245! = 1206! = 7207! = 50408! = 403209! = 362880

23、10! = 3628800答案:#include int sum_s(int i);main()Iunsigned int n 二 0, b 二 1;printf(Input n:);scanf &n);for (b = l;b 1)a = a * i;elsea = a * 1;return a; 1415.写一个程序从键盘输入两个整数,然后显示输出第1个数除以第2个数的结果。例如,输入123和12,程序的输出结果格式如下:12 ) 123提示:使用求余运算符获得余数,使用整数除法获得商。*输入格式耍求:驾d%d提示信息:请输入两个整数:” *输出格式要求:13d Remainder = %

24、dn n%5d ) %5d答案:ttincludc main()int a, b, c, d;printf C请输入两个整数:);scanf (%d%d, &a, &b);c = a / b;d = a % b:printf (/z%13d Remainder = %dn, c, d);printf C n);printf (z,%5d ) %5d, b, a); 15 16.写一个程序,将接收的摄氏温度转换为对应的华氏温度。程序应显示如下的提示信息:Please input cels:然后输入一个十进制数并iHl车,然后程序以合适的消息形式输出转换后的华氏温度。 程序使用如下的公式完成转换:

25、摄氏温度= 5.0*(华氏温麼-32.0) / 9.0 *输入格式要求:If提示信息:Please input cels:*输出格式要求:The fahr is: %. 2答案:ttincludc main()double a, b;printf(Please input cels: ”);scanf&a);b = (9.0 * a)/5. 0 + 32.0;printf (z,The fahr is: %. 2f, b); 1617.写一个程序,将接收的华氏温度转换为对应的摄氏温度。程序应显示如下的提示信息:Please input fahr:然后输入一个十进制数并iHl车,然后程序以合适的

26、消息形式输出转换后的华氏温度。程序使用如下的公式完成转换:摄氏温度= 5.0*(华氏温度-32.0) / 9.0*输入格式要求:If提示信息:Please input fahr:*输出格式要求:The cels is: %. 2答案:ttincludc main()Idouble a, b;printf(Please input fahr: ”);scanf&a);b = 5.0 * (a - 32. 0) / 9.0;printf(The cels is: %. 2f, b); 1718.编写一个程序,输入一个3位整数,要求逆序输出对应的数。例如:输入123,则输出321。*输入格式耍求:d提示信息:Please enter a positive integer:*输出格式要求:d-dn程序运

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

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