高级程序_c语言经典50例---(后)附答案手稿

上传人:第*** 文档编号:34245701 上传时间:2018-02-22 格式:DOC 页数:26 大小:145.50KB
返回 下载 相关 举报
高级程序_c语言经典50例---(后)附答案手稿_第1页
第1页 / 共26页
高级程序_c语言经典50例---(后)附答案手稿_第2页
第2页 / 共26页
高级程序_c语言经典50例---(后)附答案手稿_第3页
第3页 / 共26页
高级程序_c语言经典50例---(后)附答案手稿_第4页
第4页 / 共26页
高级程序_c语言经典50例---(后)附答案手稿_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《高级程序_c语言经典50例---(后)附答案手稿》由会员分享,可在线阅读,更多相关《高级程序_c语言经典50例---(后)附答案手稿(26页珍藏版)》请在金锄头文库上搜索。

1、“高级语言程序设计”编程题-1. 从键盘输入 3 个整数,求其中的最大数和最小数,并输出结果。-2. 从键盘上输入一个 3*3 的整数矩阵,求其各行的平均值并输出,输出时保留两位小数。-3. 输出 x2的值,x 取值从 0 到 10。-4. 从键盘上输入一个 3*4 的整数矩阵,要求输出其最大元素的值,以及它的行号和列号。-5.编写一个程序从键盘输入 10 个数,要求输出其中最小的。-6.编写一个函数根据以下公式计算 s,计算结果作为函数值返回;n 通过形参传入。1297153sK-7.输出 1000 年(包括 1000 年)到 1999 年之间的所有闰年,要求每三个一行,分行输出。闰年:能被

2、 4 整除不能被 100 整除的年份,或是能被 400 整除的年份-8. 编写程序打印所有的“水仙花数” 。 “水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如 153 是一个“水仙花数” ,因为 153111333555。-9.编写一个程序,输入一个 3 位数的正整数,然后反向输出对应的数。如:123,则输出 321。-10. 从键盘输入 10 名学生的 C 语言成绩存入一维数组内,编写程序计算 10名学生的最高分、平均分和及格人数。-11. 编写一个程序,判断用户输入的字符是否是数字,若是数字,则输出“a -12. 从键盘输入 12 个数存入二维数组 a34中,编写程序求出最大元

3、素的值及它所在的行号和列号。-13打印所有的“水仙花数” ,所谓“水仙花数”是指一个三位正整数,其各位数字的立方和等于该数本身。-14.利用函数将给定的 33 二维数组转置。-15.编程输入 a、b、c 的值后,输出一元二次方程 ax2+bx+c=0 的解。-16.从键盘上输入任意两个数和一个运算符(+、-、*、/) ,根据输入的运算符对两个数计算,并输出结果。-17.编写输入一个字符串,计算其中空格的个数。-18. 采用二维数组输入多个学生五门课的成绩,分别求出每个学生的平均成绩和每门课的平均成绩。19.编写程序,逆转字符串。20. 编写程序,统计一个英语文本中的英语单词个数。21. 打印出

4、所有的“水仙花数” ,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个“水仙花数” ,因为 153=1 的三次方5 的三次方3 的三次方。22有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20 项之和。23找出 101200 中所有的素数。24使用循环结构编写程序,打印出如下图案*25.用冒泡排序法将 10 个整数由大到小排序。26.输入任意正整数,编程判断该数是否为回文数(回文数是指从左到右读与从右到左读一样,如 12321) 。27. 求出10至1000之内能同时被2、3、7整除的数,并输出。28. 输入一字符串,检查

5、是否回文 (回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。29.设计一个函数,用来判断一个整数是否为素数。30.从键盘上输入若干学生成绩(成绩在 0100 之间) ,计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。31.设计一个函数,用来判断一个整数是否为素数。32.从键盘上输入若干学生成绩(成绩在 0100 之间) ,计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。33. 输入三个整型数,找出其中数值最大者并输出。34.编写程序在屏幕上显示如下图形:1 2 3 4 55 1 2 3 44 5 1 2 33 4 5 1 2 2 3 4

6、 5 135.编写猜数游戏,程序给定某个整数,从键盘上反复输入数据进行猜测。如果未猜中,程序提示输入过大或者过小;如果猜中,则输出猜的次数,最多允许猜 10 次36.将一个数组中的值按逆序重新存放。例如,原来顺序为 a,b,c,d,e,f,g,现在顺序为 g,f,e,d,c,b,a.(数组长度不限)37.有一篇文章,共有 3 行文字,每行有 80 个字符。要求分别统计出其中英文大写字母,小写字母,数字,空格以及其他字符的个数。38求 10501210kkk39将十个整数输入数组,求出其平均值并输出。40.将十个实型数输入数组(float n10;)逆序存放后再输出。41.编写程序:输出 x2的

7、值,x 取值从 1 到 10。42.设计程序:定义可以存储 1000 个整数的数组;在该数组中依次存入 1 到1000;在屏幕上打印出数组中所有 17 的倍数。43.设计一个函数,用来判断一个整数是否为素数;并在 main()函数中调用该函数,在屏幕上打印出 100 以内的所有素数。44.写出一个函数,求 n! .(n! = 1*2*3*n)45使用一维数组计算学生的平均成绩。用输入负数结束输入。 46.从键盘上输入一个 3*3 的矩阵,并求其主对角线元素的和。47. 写一个函数 is_prime,判断整数 n 是否素数。如果 n 是素数,则返回 1;如果 n 不是素数,则返回 0。48.从键

8、盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC” ,则输出“A123bXc”49.任意输入 10 个整数,打印出 10 个数中的最大值50.输入三个整数 a, b, c,请按从小到大的顺序输出这三个数51、输入一个整数 n,请判断 n 是否是质数,如果是,打印 n 是质数,否则打印 n 不是质数52 编程,先输入 n,再输入 n 个实数并分别统计正数的和、负数的和,然后输出统计结果。53.编程,输入 a1、a 2、.、a 15 后,计算下列表达式的值并输出。11345a54.编程,设有三个候选人,每次输入一个得票的候选人的名字

9、,要求最后输出各人得票结果。55.编程,从键盘上输入一个字符串,将其中的小写字母转换成大写字母,大写字母转换成小写字母,输入字符串以“!”结束,将转换后的字符串输出到电脑屏幕。1. 解答/*从键盘输入 3 个整数,求其中的最大数和最小数,并输出结果 */#include stdio.hvoid main()printf(从键盘输入 3 个整数,求其中的最大数和最小数,并输出结果nn);int a,b,c,max; /*定义三个整数和形参变量*/printf(请输入三个整数,用 空格 隔开 n);scanf(%d %d %d,if(a=b)max=a;/*将两者中的大的值赋予参数*/if(max

10、=c & b=c)/*同时找出最大的数和最小的数,下面类似*/printf(三者中最大的数是 a = %dn 三者中最小的数是 c = %dn,a,c);else if(max=c & b=c & a=c)printf(三者中最大的数是 b = %dn 三者中最小的数是 c = %dn,b,c);else if(max=c & amax)/*用双嵌套寻遍数组的元素,用 if 来实现符合条件的命令*/max=aij,/*这个式子来获得所用循环中的最大值*/m=i,n=j;/*记录最大值的行号和列号*/printf(n 矩阵中的最大值是 max= %dnn,max);printf(行号为:%d 列

11、号为:%dn ,m,n);5. 解答:#include stdio.hvoid main()int a10,max,i;printf(请按提示输入n);for(i=0;i100 & x=max)max=ai,m=i+1;/*找出最高成绩,并记录是第几位同学*/if(ai=60)j+;/*计算及格同学的个数*/ave=(a0+a1+a2+a3+a4+a5+a6+a7+a8+a9)/10.0;/*平均成绩*/printf(成绩中最高的是第 %d 位同学的:%d 分n,m,max);printf(及格的个数为:%dn,j);printf(平均成绩为:%.2fn,ave);11.解答:#include

12、 stdio.hvoid main()char ch;ch=getchar();/*只接收第一个字符 */if(ch=0 & ch=0)n=sqrt(m); /*对 开方。#include math.h 这个里面包含开放函数 sqrt()*/x1=(-b+n)/(2*a);x2=(-b-n)/(2*a);printf(方程的根为:x1 = %.2f x2 = %.2f n,x1,x2);elseprintf(该方程没有实数解n);16.解答:参见课本 69 页。17.解答:#include #include/*定义字符串处理函数*/int main()char ch80;/这里需要定义一个数组

13、int i,n,s=0;printf(请输入一串字符串:n);gets(ch);/为了输入空格,必须要用 gets 输入/gets 送一字符串到流中n=strlen(ch);/计算字符串长度for(i=0;ivoid main()int a10,i,j,t;printf(请任意输入十个整数,程序将对其进行排序n);for(i=0;i100)/*判断是否输入有误*/ printf(你的输入有误!n);goto end;/*goto 函数,程序直接跳转到有标记的地方继续执行*/sum=sum+ai;/*成绩求和*/ave=sum/n;/*计算平均*/printf(平均成绩为:%.1fn,ave);

14、for(i=0;i=0;j-)aj+1=aj;/*将 aj的值赋予 aj+1,这是根据数表的规律判断的*/a0=t;/*上面连续赋值无法实现将最后元素和第一个元素互换,故加上t=a4,a0=t 的语句来完成*/for(j=0;jm)/*猜测判断*/printf(n 你输入的数有点大,你还有 %d 次机会。请重新输入:,9-i);/*i 初始值为 0,故用 9-i*/else if(n=A & chi=a & chi=0 & chi=a & chi=A & chib)?a:b;/*三目条件运算符,可以查课本 55 页参见用法*/max2=(max1)c?max1:c;/*以上两句可求出最大数*/

15、min1=(a=a | a=b | b=c | c=0)sum1=sum1+ai;/*正数求和*/elsesum2=sum2+ai;/*负数求和*/printf(所有正数的和为:%.0fn 所有负数的和为:%.0fn,sum1,sum2);53.解答:#include stdio.hvoid main()float a15,ans;int i;printf(请输入 15 数:n);for(i=0;i=0;i+)printf(输入候选人名字:);scanf(%s,/*字符串赋值给变量 ch,其中 ch 必须是数组,而且数组长度要够*/if(strcmp(ch,leader1)=0)/*strcmp 函数是比较字符串 ,相等返回值0,不相等返回值 1*/j+;else if(strcmp(ch,leader2)=0)k+;else if(strcmp(ch,leader

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

当前位置:首页 > 办公文档 > 解决方案

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