c语言编程题目及答案.docx
《c语言编程题目及答案.docx》由会员分享,可在线阅读,更多相关《c语言编程题目及答案.docx(80页珍藏版)》请在冰点文库上搜索。
c语言编程题目及答案
**********************************
考试形式:
上机考试(60分钟)
考试题型说明:
10个单选题+2个编程题
下面是编程题目的复习题型,期末考试的编程题型及难易程度与此相近,请大家认真复习,强化练习,打下坚实基础,顺利通过考试。
**********************************
1、编写一计算阶乘的函数fac,在主函数中从键盘输入一个正整数,调用阶乘函数fac计算阶乘并输出计算结果。
2、编写一个求x的y次幂的函数pw,在main函数中从键盘输入a、b的值,然后调用pw函数求a的b次幂,并输出结果。
3、写一函数max,计算三个数中最大数。
在主函数中输入三个数,调用该函数求出其中最大数并输出。
(要求:
三个数为实数)
4、写一个函数计算两个正整数的最大公约数,在主函数中用scanf输入m,
n两个正整数,调用函数后,打印函数返回值(即这两个正整数的最大公约数)。
5、编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数中
调用该函数,输出200以内所有的素数。
6、请编一个自定义函数,功能:
将给定的字符串中的所有字母改为小写字母。
字符串在主函数中从键盘任意输入(容许包含空格)
7、编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数
中输入一个整数,调用该函数,判断该数是不是素数,若是则输出“yes”,
否则输出“no”
8、将1--1000中所有21的倍数存到一个一维数组中,再按每行5个数据输出到
屏幕上。
9、在屏幕上打印以下图案:
(要求打印N行,N用符号常量定义为7)
*
**
***
****
*****
******
*******
10、输出所有在正整数200和300之间能被6整除、但不能被4整除的数,并统计这样的数有多少个。
11、求S=1/1+1/2+1/3+……+1/100(精确到小数点后三位)。
12、编程计算1到20的平方和,并输出结果。
(要求用for循环)
13、编写一个程序从键盘任意个整数,求均值及低于均值的个数,输出到屏幕。
14、编写一个程序从键盘输入10个学生的成绩到数组score中,将最高分、最低分输出,要求将该程序以文件名test1.c保存到K盘根目录。
15、在main()函数中输入一个人的年龄和性别,女士55岁退休,男士60岁退休。
编写一个函数根据年龄和性别判断一个人士工作还是退休,若工作,则输出“Working!
”,退休则输出“Retired!
”
161、编写一个程序从键盘输入10个学生的成绩到数组score中,将最高分、
最低分输出。
17、编写一个函数求一个实数的绝对值。
然后在main函数中用scanf输入
任意个实数,调用该函数求它的绝对值并输出。
18、编写一个求1——n内的偶数和的函数,在main()函数中输入n,然后
调用该函数求1——n的偶数和并输出。
19、编写一个求1——n内的奇数和的函数,在main()函数中输入n,然后
调用该函数求1——n的奇数和并输出。
20、编写函数打印以下图形,将图形中的行数作为函数的形参。
在main()
函数中输入行数n,调用该函数打印行数为n的图形。
(如:
输入5,则打
印出5行的三角形)
*****
****
***
**
*
21、编写一个函数,将摄氏温度转换成华氏温度,转换公式为:
f=1.8*c+32.0。
在main函数中调用该函数,计算并在屏幕上显示从摄氏0度到100度,每隔10度转换一次的华氏温度。
22、编写一个函数,将三个数按由小到大的顺序排列并输出。
在main函数中
输入三个数,调用该函数完成这三个数的排序。
23、编写一个函数,该函数的功能是打印1——n中所有7的倍数,在
main()中输入n,调用该函数输出结果。
24、写一个函数判断一个正整数是否为奇数,在主函数中用scanf输入
正整数m,调用函数后,根据函数返回值判断这个正整数是否为奇数,
若是则输出“yes”,否则输出“no”
25、写一个函数判断一个正整数是否为偶数,在主函数中用scanf输入
正整数m,调用函数后,根据函数返回值判断这个正整数是否为偶数,
若是则输出“yes”,否则输出“no”
26、写一个函数,判断某一个四位数是不是玫瑰花数(所谓玫瑰花数即
该四位数各位数字的四次方和恰好等于该数本身,如:
1634=14+64+34+44)。
在主函数中调用该函数,输出所有玫瑰花数。
27、写一个函数,判断某一个四位数是不是玫瑰花数(所谓玫瑰花数即
该四位数各位数字的四次方和恰好等于该数本身,如:
1634=14+64+34+44)
。
在主函数中从键盘任意输入一个四位数,调用该函数,判断该数是否
为玫瑰花数,若是则输出“yes”,否则输出“no”。
28、编写一个函数,判断某一个三位数是不是水仙花数(所谓水仙花数
即该三位数各位数字的立方和恰好等于该数本身,如:
153=13+53+33)
。
在主函数中调用该函数,输出所有水仙花数。
29、编写一个函数,函数的功能是求出所有在正整数M和N之间能被5整除
但不能被3整除的数并输出,其中M<N。
在主函数中调用该函数求出100
至200之间,能被5整除、但不能被3整除的数。
30、编写一个函数,其功能是;检验一个输入的四位数字是否是闰年,
如果是闰年则返回1,否则返回0。
在主函数中从键盘输入一个四位数XXXX
,调用该函数进行判断,如果是则输出”yes”,否则输出”no”(提示
:
如果该四位数能被4整除但不能被100整除,则是闰年;如果该四位数能
被400整除,则是闰年)
31、编写一个函数求两数中的较大数,在main()函数输入三个数,调用该
函数求这三个数的较大数并在屏幕上输出。
32、写一函数min,返回三个数中最小数。
在主函数中用键盘输入三个数,
调用该函数求出其中最小数并输出。
(要求:
三个数为实数)
33编写一个函数计算n!
。
在主函数中调用该函数计算1!
+2!
+3!
+…+10!
并输出结果。
34、编写一个求直角三角形的面积的函数。
在main函数中从键盘输入
直角三角形的两个直角边,然后调用该函数求该直角三角形的面积
(精确到小数点后2位)。
35、编写一个求圆的面积的函数。
在main函数中从键盘输入半径,然后
调用该函数求该圆的面积(精确到小数点后2位)。
36、某商场根据客户购物的数量打折,根据商品的单价p,数量n,编写函数
fun计算应付款。
在main()函数中输入单价和数量,调用函数后,输出应
付款(打折方法:
购物数量10件及以上打9折,20件及以上打8折,10件以
下不打折,结果保留2位小数)。
37、写一个函数,判断给定的三边长能否构成直角三角形,能构成直角三角形,
则返回整数1,否则返回整数0。
在main()函数中输入三边长,调用该函数,若是直角三角形,则输出“yes”,否则,输出“no”。
38、写一个函数计算两个正整数的最小公倍数,在主函数中用scanf输入
m,n两个正整数,调用函数后,打印这两个正整数的最小公倍数。
39、编写一个函数,判断某一个三位数是不是水仙花数(所谓水仙花
数即该三位数各位数字的立方和恰好等于该数本身,如:
153=1*1*1+5*5*5+3*3*3)。
在主函数中从键盘任意输入一个三位数
调用该函数,判断该数是否为水仙花数,若是则输出"yes",否则输出"no"。
40、编写一个程序从键盘输入三个整型数据,按从大到小的顺序输出。
41、编写一个程序从键盘输入三个整型数据,求它们的和及平均值并在
屏幕上显示(平均值精确到小数点后两位)。
42、设a,b是这个直角三角形的两个直角边,用scanf输入a,b的值,计算
并输出直角三角形的周长。
(结果保留2位小数)。
43、用scanf输入半径r的值,求以此为半径的园的面积。
将结果输出
到屏幕上(要求将л=3.14159定义为符号常量,结果保留2位小数)。
44、编写程序,从键盘输入圆柱体的底面半径r和高h,求圆柱体的体积
并输出(л=3.14159,结果保留2位小数)。
45、用scanf输入一个梯形的上底(a)下底(b)和高(h),求这个梯形的
面积(s)。
(结果保留2位小数)。
46、计算1到20的平方和,并输出结果。
(要求用for循环)
47、求S=1/1+1/2+1/3+……+1/100(精确到小数点后三位)。
48、编写一个程序从键盘输入10个整数,求均值及低于均值的个数
,并结果用空格隔开输出到屏幕。
(采用预定义N为10)。
49、将1--1000中所有21的倍数存到一个一维数组中,再按每行5个
数据输出到屏幕上。
50、编写一个程序,输出下面数列的前20项
0,1,1,2,3,5,8,13,21,24
51、求解一个一元二次方程(分别考虑幂为零次,一次,二次情况)
52、假设某人有钱百枚,希望买一百只鸡,公鸡6圆一只,母鸡4圆一只,小鸡0.5圆一只。
试问可以包含几只公鸡,几只母鸡,几只小鸡。
53、任意输入等比数列的初值和一个公比,求等比数列的前20项的和
54.请编写一个程序,计算1-1/2+1/3-………+1/99-1/100
C语言编程题精选
C语言学习2010-11-3015:
48:
25阅读47评论0字号:
大中小订阅
1.有函数F(x)=(x+1)2和G(x)=2x+1,输入X值计算F(G(x))的值。
2.任意输入三个字符,要求首先按逆序输出,然后同行原序输出。
3.在屏幕上输出如下图案(考虑能否将输出的行数由输入的值来控制):
******
******
******
******
4.在屏幕上输出如下图案(考虑将输出的行数由输入的值来控制):
*
**
***
****
*****
5.编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
*
***
*****
*******
6.编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
****
***
**
*
7.编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
*******
*****
***
*
8.编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
*
***
*****
*******
*****
***
*
9.编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
*
***
*****
*******
10.编程输出如下格式图形(考虑将输出的行数由输入的值来控制):
*
***
*****
*******
*****
***
*
11.编写打印如下图形的程序(考虑将输出的行数由输入的值来控制):
*****
*****
*****
*****
12.编制程序打印如下图形(考虑将输出的行数由输入的值来控制):
A
BBB
CCCCC
DDDDDDD
EEEEEEEEE
FFFFFFFFFFF
GGGGGGGGGGGGG
13.编程打印图形(考虑将输出的行数由输入的值来控制):
1
121
12321
1234321
123454321
12345654321
14.编程打印图形(考虑将输出的行数由输入的值来控制):
1
121
12321
1234321
123454321
12345654321
15.编程打印图形(考虑将输出的行数由输入的值来控制):
12345654321
123454321
1234321
12321
121
1
16.编程打印图形(考虑将输出的行数由输入的值来控制):
1
11
121
1331
14641
15101011
17.编程打印图形(考虑将输出的行数由输入的值来控制):
1
11
121
1331
14641
15101011
18.输入一个大写字母打印菱形。
菱形中间一行由该字母组成,相邻的各行由前面的字母依次组成,直到字母A出现在第一行和最末行为止。
例如输入字母D,输出图形如下:
A
BBB
CCCCC
DDDDDDD
CCCCC
BBB
A
19.打印如下图形。
输出行数由键盘输入。
**
******
**********
**************
******************
20.输出矩阵A及其转置矩阵:
1234
A=2341
3412
21.依次输入十个整数,找出其平方最大的一个数并打印出来。
22.输入n,求下列级数前n项的和。
1+1/2-2/3+3/4……
23.编写程序用于判断一个数是否是素数。
24.编程序输出1--1000内的所有素数。
所谓素数是指除了能被1和它本身之外不能被其它数整除的数。
25.输入20个数,先按原来顺序输出,再将数组中元素逆置后输出,即将第1个数跟第20个互换、第2个数跟第19个互换......。
26.从键盘上输入10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:
第1个元素与第6个元素互换,第2个元素与第7个元素互换……第5个元素与第10个元素互换。
分别输出数组原来各元素的值和对换后各元素的值。
27.从键盘输入一组数,先按原来顺序输出,再将其中最大的一个找出来与第一个元素交换(即将最大的一个放到最前面)后将所有数重新输出。
28.输入一组数,先按原来顺序输出,再找其中最大及最小元素,分别与第一个及最后一个交换后再将这一组数重新输出一遍。
注意从一组数中找出最大或者最小数的方法。
29.用冒泡或选择法将一组数按从大到小的降序排序后输出。
30.输入一行文字(英文),统计其中的单词个数。
31.编程计算的近似值。
求近似值公式如下:
32.用递归的方法求n!
。
可以用以下数学关系表示:
33.编写程序,要求用随机函数产生n个数(n由键盘输入的值决定),并用选择法排序,输出排序前后的结果,要求每行打印10个数。
34.求出10至1000之内能同时被2、3、7整除的数,并输出。
35.求出1到100之间的奇数之和及偶数之和,并将二者输出。
36.编一程序用以输出所有各位数码阶乘之和等于其自身的三位数。
如:
145(145=1!
+4!
+5!
)。
37.假设字符数组存放有三行字符,每行的长度最长为80个字符,编程:
分别统计出其中大写字母、小写字母、数字字符、空格字符以及其它字符的个数。
38.编写程序,读一个在字母C和X之间的字符,打印出该字母在中间的相邻五个字母。
如输入F,则输出DEFGH。
39.编程输入一个小写字母,以该字母为第一个字母按字母表逆序输出字母表中所有小写字母。
(例:
输入m,则输出:
mlkjihgfedcbazyxwvutsrqpon)
40.在1—500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数。
41.编程将1...100间能被2、3、5分别整除的数的和求出来并输出。
注意,在判断时要按照2、3、5的先后次序来确定优先顺序,如6既能被2整除,又能被3整除,则只算到能被2整除的这种情况里。
42.编程将1...100间能被2、3、5整除的数的和求出来并输出。
注意,在判断时如果一个数能同时被多个数整除,则要算到多种情况里去。
如6既能被2整除,又能被3整除,则要同时算到能被2整除的和能被3整除这两种情况里。
43.编写程序输入三位数(100—999),然后按数字逆序输出。
(例:
输入123↙,输出321)。
44.编写程序打印所有的“水仙花数”。
“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为153=1×1×1+3×3×3+5×5×5。
45.将一个二维数组a[2][3]={{1,2,3},{4,5,6}}转置,存到数组b中并输出b。
46.编写程序求1-1/3+1/5-1/7+1/9......的值,直到最后一项的绝对值小于10-6为止。
47.输入x值,根据下式计算,直到最后一项的绝对值小于10-6时为止。
48.编程计算下面公式:
49.编一子程序实现十进制数转换为其它进制数。
主程序将十进制数43和17分别转换为二进制数和八进制数。
50.编一个程序计算一元二次方程的根。
51.编程输入一个整数,若为四位正整数则要求正确分离出其个、十、百、千位及中间的两位数并分别输出,如输入的是1234,则输出应该为4、3、2、1、23;否则给出一个出错提示。
52.任意输入三个数,按从大到小的降序输出。
53.编程计算1+2+3+.....+10000
54.编程计算1-2+3-4+5-6+……-10000
55.编程计算2+4+6+......+100的结果
56.编和计算1+3+5+……+99的和
57.编程计算1+4+9+16+25+……+10000之和
58.编程计算下式的值,其中的n在程序运行时由用户通过键盘输入:
59.根据数学方面的知识,圆周率的计算可按下式进行,试编程序计算机圆周率,并试着将n取不同的值(至少在100以上),看计算出的圆周率结果有何不同。
60.输入两个正整数m和n,求其最大公约数和最小公倍数。
(利用辗转相除法)
61.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?
第10次反弹多高?
62.计算0.0~∏之间各数的正弦及余弦值,各值之间以0.01为间距。
63.利用C语言自带的随机函数(rand)产生一组随机数(不要超过10000),先将它们按原序输出,再找出最大一个数的位置(即下标)并输出。
64.利用C语言自带的随机函数(rand)产生一组随机数(不要超过10000),先将它们按原序输出,再找出最大及最小两个数的位置(即下标)并输出。
65.按如下公式计算表达式的值(用递归实现):
66.编一程序,从键盘输入若干个数,降序排序后存入文件jieguo.txt中去,同时将结果在屏幕上显示。
67.百鸡问题:
用100元买100只鸡,大公鸡5元1只,母鸡3元1只,小鸡1元3只。
问各能买多少只?
68.今年父亲30岁,儿子6岁,问多少年后父亲的年龄是儿子年龄的2倍?
69.一个四位数,当它逆向排列时得到的4位数是它自身的整数倍,请找出所有符合这一条件的四位数。
70.某处发生一起案件,侦察得知如下可靠线索:
ABCD四人都有作案可能
AB中至少一人参与作案
BC中至少一人参与作案
CD中至少一人参与作案
AC中至少一人未参与作案
请分析谁最有可能是案犯。
71.找赛手:
2个羽毛球队比赛,各出3人,每个人只比一次。
甲队为A,B,C三人,乙队为X,Y,Z三人。
有人打听比赛名单,A说他不和X比,C说不和X,Z比。
请编程找出三队赛手的名单。
72.求以下不定方程组的所有正整数解(提示:
可以考虑让计算机在一定范围内穷举):
73.编程从键盘输入20个数,要求输出其中最大的前5个。
74.编程序输出1-1000以内的完全平方数并统计个数。
所谓完全平方数是指其算术平方根为一整数,如4、9、100等。
75.我国古代有一种回文诗,倒念顺念都有意思,例如“人过大佛寺”,倒读起来便是“寺佛大过人”。
还有经典的对联“客上天然居,居然天上客”。
此种例子举不胜举。
在自然数中也有类似情形,比如1991就是一个很特殊的四位数,从左向右读与从右向左读竟是完全一样的,这样的数称为“回文数”。
编程序输出1到10000内的所有回文数并统计个数。
76.某班综合考评,根据参加集体活动的次数加分,规则如下:
参加1次及以下:
加1分;
参加2至3次:
加2分;
参加4至7次:
参加几次加几分;
参加8至10次:
加8分;
参加10次以上:
加10分。
程序运行时输入某人参加活动的次数,则输出其应该加的分数;如果输入为负值,则给出相应提示。
C语言编程题精选(答案1-45)
C语言学习2010-11-3015:
49:
22阅读27评论0字号:
大中小订阅
1、
#include
#include
voidmain()
{
floatx,y;
printf("Pleaseinputx:
");
scanf("%f",&x);
y=2*x+1;
y=(float)pow(y+1,2);
printf("Theresultis:
%f\n",y);
}
2、
#include
voidmain()
{
chara,b,c;
printf("Pleaseinput3characters:
");
scanf("%c%c%c",&a,&b,&c);
printf("%c%c%c",c,b,a);
printf("%c%c%c",a,b,c);
printf("\n");
}
3、
#include
voidmain()
{
intn,r,c;
printf("请输入行数:
");
scanf("%d",&n);
if(n<0)
printf("行数错误!
\n");
else
{
for(r=1;r<=n;r++)
{
for(c=1;c<=6;c++)
printf("*");
printf("\n");
}
}
}
4、
#include
voidmain()
{
intn,r,c;
printf("请输入行数:
");
scanf("%d",&n);
if(n<0)
printf("行数错误!
\n");
else
{
for(r=1;r<=n;r++)
{
for(c=1;c<=r;c++)
printf("*");
printf("\n");
}
}
}
5、
#include
voidmain()
{
intn,r,c;
printf("请输入行数:
");
scanf("%d",&n);
if(n<0)
printf("行数错误!
\n");
else
{
for(r=1;r<=n;r++)
{
for(c=1;c<=2*r-1;c++)
printf("*");
printf("\n");
}
}
}
6、
#include
voidmain()
{
intn,r,c;
printf("请输入行数:
");
scanf("%d",&n);
if(n<0)
printf("行数错误!
\n");