C语言练习试题答案解析

上传人:xmg****18 文档编号:109735703 上传时间:2019-10-27 格式:DOC 页数:106 大小:115.43KB
返回 下载 相关 举报
C语言练习试题答案解析_第1页
第1页 / 共106页
C语言练习试题答案解析_第2页
第2页 / 共106页
C语言练习试题答案解析_第3页
第3页 / 共106页
C语言练习试题答案解析_第4页
第4页 / 共106页
C语言练习试题答案解析_第5页
第5页 / 共106页
点击查看更多>>
资源描述

《C语言练习试题答案解析》由会员分享,可在线阅读,更多相关《C语言练习试题答案解析(106页珍藏版)》请在金锄头文库上搜索。

1、 完美WORD格式 1.已知三角形的三边长为a,b,c,计算三角形面积的公式为:area=sqrt(s(s-a)(s-b)(s-c),其中s=(a+b+c)/2。试编程从键盘输入a,b,c的值(假设a,b,c的值可以保证其构成一个三角形),计算并输出三角形的面积。*输入格式要求:%f,%f,%f 提示信息:Input a,b,c:*输出格式要求:area = %.2fn程序运行示例如下:Input a,b,c:3,4,5area = 6.00答案:#include#includeint main(void)float a, b, c, s, area;printf(Input a,b,c:);

2、scanf(%f,%f,%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,分离出千位1、百位2、十位3和个位4,然后计算4*1000+3*100+2*10+1=4321,并输出4321。*要求输入提示信息为:无*要求输入格式为: %d*要求输出格式为:%d程序运行示例如下:1234 此处为输入4321 此处为输出答案:#includeint m

3、ain(void)int a, b, 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;printf(%d,a);return 0; -23.有关输入输出问题。输入为:12a b 运行结果为:1,2,a,b,123.300000,65535请改正程序中的错误,使它能得出正确的结果。#include main() int b; unsigned short a = 65535; short k = a; char c, d; int f, g; b = (1234

4、.0 - 1) / 10; scanf(%c, &c); scanf(%c, &d); scanf(%d, &f); scanf(%d, &g); printf(%c,%c,%c,%c,%f,%d, c, d , f, g, b, k);答案:#include main()double b;int a = 65535;char c, d;int f, g;b = (1234.0 - 1) / 10;scanf(%c, &c);scanf(%c, &d);scanf(%ct, &f);scanf(%c, &g);printf(%c,%c,%c,%c,%f,%d, c, d , f, g, b,

5、a); -34.输入一行字符,统计其中的英文字符、数字字符、空格字符,以及其他字符的个数。请找出以下程序的错误,并改正之。#include #include #define ARR_SIZE = 80; main()char strARR_SIZE;int len, i;int letter=0,digit=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 (0=stri=9) digit +;

6、 else if (stri= ) space +; elseother +; printf(英文字符数:%dn, letter);printf(数字字符数:%dn, digit);printf(空格数:%dn, space);printf(其他字符数:%dn, other);答案 :#include #include #define ARR_SIZE 80 main()char strARR_SIZE;int len, i;int letter = 0, digit = 0, space = 0, other = 0;printf(请输入一个字符串:);gets(str);len = str

7、len(str);for (i = 0; ilen; i+)if (a = stri&stri = z | A = stri&stri = Z)letter+;else if (0 = stri & stri= 9)digit+;else if ( stri = )space+;elseother+;printf(英文字符数:%dn, letter);printf(数字字符数:%dn, digit);printf(空格数:%dn, space);printf(其他字符数:%dn, other); -45.对输入的一个数判断是否是素数。所谓素数是指这个数只能被1和自身整除。要求在主函数输入一个数

8、,调用函数Fun()判断该数是否是素数。打印信息在主函数中进行。例如:从键盘输入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*输出格式要求: 若是素数输出数据

9、格式为:%d is a prime numbern 若不是素数输出数据格式为: %d is not a prime numbern不完整答案:#includeint Fun(int a)int i;if(a1)for(i = 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(%d is not a prime numbern,b);elseprintf(

10、%d is a prime numbern,b);参考答案:#include stdio.hint Fun(int m);int main() int m, flag;printf(Please input a number:n);do scanf(%d, &m); /1while (m 2); /e1flag = Fun(m); /3if (flag) /1printf(%d is a prime numbern, m);elseprintf(%d is not a prime numbern, m); /1return 0; int Fun(int m)/2 int i, flag = 1; /1for (i = 2; i m; i+) /1 if (m % i = 0) /1 flag = 0; /1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号