高级程序C语言经典50例后附答案手稿资料.docx
- 文档编号:8989048
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:41
- 大小:36.96KB
高级程序C语言经典50例后附答案手稿资料.docx
《高级程序C语言经典50例后附答案手稿资料.docx》由会员分享,可在线阅读,更多相关《高级程序C语言经典50例后附答案手稿资料.docx(41页珍藏版)》请在冰豆网上搜索。
高级程序C语言经典50例后附答案手稿资料
“高级语言程序设计”编程题
--1.从键盘输入3个整数,求其中的最大数和最小数,并输出结果。
--2.从键盘上输入一个3*3的整数矩阵,求其各行的平均值并输出,输出时保留两位小数。
--3.输出x2的值,x取值从0到10。
--4.从键盘上输入一个3*4的整数矩阵,要求输出其最大元素的值,以及它的行号和列号。
--5.编写一个程序从键盘输入10个数,要求输出其中最小的。
--6.编写一个函数根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。
--7.输出1000年(包括1000年)到1999年之间的所有闰年,要求每三个一行,分行输出。
闰年:
能被4整除不能被100整除的年份,或是能被400整除的年份
--8.编写程序打印所有的“水仙花数”。
“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为153=1×1×1+3×3×3+5×5×5。
--9.编写一个程序,输入一个3位数的正整数,然后反向输出对应的数。
如:
123,则输出321。
--10.从键盘输入10名学生的C语言成绩存入一维数组内,编写程序计算10名学生的最高分、平均分和及格人数。
--11.编写一个程序,判断用户输入的字符是否是数字,若是数字,则输出“a
--12.从键盘输入12个数存入二维数组a[3][4]中,编写程序求出最大元素的值及它所在的行号和列号。
--13.打印所有的“水仙花数”,所谓“水仙花数”是指一个三位正整数,其各位数字的立方和等于该数本身。
--
14.利用函数将给定的3×3二维数组转置。
--
15.编程输入a、b、c的值后,输出一元二次方程ax2+bx+c=0的解。
--
16.从键盘上输入任意两个数和一个运算符(+、-、*、/),根据输入的运算符对两个数计算,并输出结果。
--
17.编写输入一个字符串,计算其中空格的个数。
---------------------------------------------------------------------
18.采用二维数组输入多个学生五门课的成绩,分别求出每个学生的平均成绩和每门课的平均成绩。
19.编写程序,逆转字符串。
20.编写程序,统计一个英语文本中的英语单词个数。
21.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
22.有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
23.找出101~200中所有的素数。
24.使用循环结构编写程序,打印出如下图案
*
***
*****
25.用冒泡排序法将10个整数由大到小排序。
26.输入任意正整数,编程判断该数是否为回文数(回文数是指从左到右读与从右到左读一样,如12321)。
27.求出10至1000之内能同时被2、3、7整除的数,并输出。
28.输入一字符串,检查是否回文(回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。
29.设计一个函数,用来判断一个整数是否为素数。
30.从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。
31.设计一个函数,用来判断一个整数是否为素数。
32.从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。
33.输入三个整型数,找出其中数值最大者并输出。
34.编写程序在屏幕上显示如下图形:
12345
51234
45123
34512
23451
35.编写猜数游戏,程序给定某个整数,从键盘上反复输入数据进行猜测。
如果未猜中,程序提示输入过大或者过小;如果猜中,则输出猜的次数,最多允许猜10次
36.将一个数组中的值按逆序重新存放。
例如,原来顺序为a,b,c,d,e,f,g,现在顺序为g,f,e,d,c,b,a.(数组长度不限)
37.有一篇文章,共有3行文字,每行有80个字符。
要求分别统计出其中英文大写字母,小写字母,数字,空格以及其他字符的个数。
38.求
39.将十个整数输入数组,求出其平均值并输出。
40.将十个实型数输入数组(floatn[10];)逆序存放后再输出。
41.编写程序:
输出x2的值,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.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。
如输入“a123BxC”,则输出“A123bXc”
49.任意输入10个整数,打印出10个数中的最大值
50.输入三个整数a,b,c,请按从小到大的顺序输出这三个数
51、输入一个整数n,请判断n是否是质数,如果是,打印n是质数,否则打印n不是质数
52编程,先输入n,再输入n个实数并分别统计正数的和、负数的和,然后输出统计结果。
53.编程,输入a1、a2、...、a15后,计算下列表达式的值并输出。
54.编程,设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。
55.编程,从键盘上输入一个字符串,将其中的小写字母转换成大写字母,大写字母转换成小写字母,输入字符串以“!
”结束,将转换后的字符串输出到电脑屏幕。
1.解答
/*从键盘输入3个整数,求其中的最大数和最小数,并输出结果*/
#include"stdio.h"
voidmain()
{
printf("从键盘输入3个整数,求其中的最大数和最小数,并输出结果\n\n");
inta,b,c,max;/*定义三个整数和形参变量*/
printf("请输入三个整数,用空格隔开\n");
scanf("%d%d%d",&a,&b,&c);
if(a>=b)
{
max=a;/*将两者中的大的值赋予参数*/
if(max>=c&&b>=c)/*同时找出最大的数和最小的数,下面类似*/
printf("三者中最大的数是a=%d\n三者中最小的数是c=%d\n",a,c);
elseif(max>=c&&b printf("三者中最大的数是a=%d\n三者中最小的数是b=%d\n",a,b); elseif(max printf("三者中最大的数是c=%d\n三者中最小的数是b=%d\n",c,b); } else { max=b;/*将两者中的大的值赋予参数*/ if(max>=c&&a>=c) printf("三者中最大的数是b=%d\n三者中最小的数是c=%d\n",b,c); elseif(max>=c&&a printf("三者中最大的数是b=%d\n三者中最小的数是a=%d\n",b,a); elseif(max printf("三者中最大的数是c=%d\n三者中最小的数是a=%d\n\n",c,a); } } 2.解答: #include"stdio.h" voidmain() { inti,j,a[3][3];/*定义i,j为计数器*/ floatave1,ave2,ave3;/*平均值要保留小数,故用实型*/ printf("请按提示从键盘输入整数\n"); for(i=0;i<=2;i++) for(j=0;j<=2;j++)/*用双循环来从键盘接收a[3][3]的3*3矩阵。 ij都不能大于2,与数组定义有关*/ { printf("请输入(按回车确认)\na[%d][%d]=",i,j); scanf("%d",&a[i][j]);/*接收键盘输入*/ } printf("\n您输入的矩阵为: \n"); for(i=0;i<=2;i++)/*这个嵌套循环用来打印出所输入的矩阵*/ { for(j=0;j<=2;j++) printf("%d",a[i][j]); printf("\n"); } ave1=(a[0][0]+a[0][1]+a[0][2])*1/3.0;/*求平均值。 注意这里的1/3.0,这是为了使整型转为实型,以保留小数*/ ave2=(a[1][0]+a[1][1]+a[1][2])*1/3.0; ave3=(a[2][0]+a[2][1]+a[2][2])*1/3.0; printf("第一行的平均值为ave1=%.2f\n",ave1); printf("第二行的平均值为ave2=%.2f\n",ave2); printf("第三行的平均值为ave3=%.2f\n",ave3); } 3.解答: #include"stdio.h" voidmain() { intx; for(x=0;x<=10;x++) printf("%d*%d=%d\n",x,x,x*x); } 4.解答: #include"stdio.h" voidmain() { inta[3][4],i,j,max;/*定义矩阵和计数器*/ intm,n;/*用来记录行号和列号*/ printf("请按提示输入\n"); for(i=0;i<3;i++) for(j=0;j<4;j++)/*双嵌套接收3*4矩阵*/ { printf("请输入(按回车确认)\na[%d][%d]=",i,j); scanf("%d",&a[i][j]);/*接收键盘输入*/ } max=a[0][0]; for(i=0;i<3;i++) for(j=0;j<4;j++) { if(a[i][j]>max)/*用双嵌套寻遍数组的元素,用if来实现符合条件的命令*/ max=a[i][j],/*这个式子来获得所用循环中的最大值*/ m=i,n=j;/*记录最大值的行号和列号*/ } printf("\n矩阵中的最大值是max=%d\n\n",max); printf("行号为: %d列号为: %d\n",m,n); } 5.解答: #include"stdio.h" voidmain() { inta[10],max,i; printf("请按提示输入\n"); for(i=0;i<10;i++) { printf("请输入第%d个数: ",i+1); scanf("%d",&a[i]); printf("\n"); } max=a[0]; for(i=0;i<10;i++) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 程序 语言 经典 50 例后附 答案 手稿 资料