c语言试题100道文档格式.docx
《c语言试题100道文档格式.docx》由会员分享,可在线阅读,更多相关《c语言试题100道文档格式.docx(84页珍藏版)》请在冰豆网上搜索。
22.编写一个程序实现输出1—100之间所有素数。
23.编写一个程序实现输出任意指定m、n之间的所有素数。
24.读入一个年份和月份,打印出该月有多少天(考虑闰年),用switch语句编程。
(课本159)(主要是设定一个标志,考虑闰年)
25.打印所有的水仙花数。
所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
(例159=1*1*1+3*3*3+5*5*5)(课本159)
26.鸡兔同笼,共有98个头,386只脚,编程求鸡兔各多少只。
(课本160)
27.用1元5角钱人名币兑换5分、2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?
并输出每种方案。
28.三色球问题。
若一个口袋中放有12个球,其中有3个红色的,3个白色的,6个黑色的,从中任取8个球,问共有多少种不同的颜色搭配?
29.打印100以内整数的平方根表。
(课本161)
30.编程打印一下图案:
@
@@@
@@@@@
@@@@@@@
31.设计一个函数,计算两个正整数的最小公倍数。
(课本195)
32.设计一个函数,计算两个正整数的最大公约数。
(课本196)
33.编程使二维数组a[m][n]按如下输入输出例:
input123output14
45625
36
34.从键盘输入某班学生某门课的成绩(每班人数最多不超过40人,具体人数由键盘输入),试编程打印最高分及其学生序号。
(课本204)
35.从键盘输入五个数,利用冒泡法排序,输出排序后的结果。
36.从键盘输入五个数,利用选择法排序,输出排序后的结果。
37.从键盘任意输入五个学生的姓名,编程找出并输出按字典顺序排在最前面的学生姓名。
(课本234)
38.从键盘任意输入五个学生的姓名,编程找出并输出按字典顺序的五个学生姓名。
39.编程实现从键盘任意输入5个正整数,统计非负数个数,并计算非负数之和。
(课本242)
40.从键盘任意输入5个正整数,用函数编程实现将其中最大数和最小数的位置对换后,再输出调整后的数组。
41.输入5*5的矩阵,编程实现:
求两条对角线上行、列下标均为偶数的各元素之积。
(提示(i==j)||(i+j==4)&
&
(i%2==0)&
(j%2==0))(课本242)
42.编程将下列矩阵中的元素向右移动一列,最后一行移至第一列。
193
51021
43.输入一行字符,统计其中的英文字符、数字字符、空格及其他字符的个数。
(课本243)
44.从键盘任意输入两个整数,利用指针变量作为函数参数,编程实现两数互换功能,然后将交换后的数据重新输出。
(课本252)
45.用字符指针编程实现字符串复制函数。
(课本260)
46.用字符指针编程实现求字符串长度函数。
(课本262)
47.编写一个程序,可以实现在一个数组中删除指定的元素。
如:
数组元素为1,2,3,输入3,便删除3,输出1,2;
若输入4,则继续输出1,2,3。
(课本272)
48.编程将若干字符串按字母顺序由小到大排序后输出。
(二维数组和指针数组均可)。
(课本280)
49.编程输入一个班的某课程的学生成绩,计算其平均分,然后输出,班级人数由键盘输入。
(课本290)
50.编程实现从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串(要求:
使用头指针和尾指针来实现)。
(课本307)
51.编程判断输入的一串字符是否为“回文”。
所谓回文是指顺读和倒读都一样的字符串,如“ABCCBA”是回文。
52.用指针数组编程实现:
从键盘任意输入一个数字表示月份值n,程序输出该月份的英文表示,若n不在1~12之间,则输出“Illegalmonth”。
("
January"
"
February"
March"
April"
May"
June"
July"
Aguest"
September"
October"
November"
December"
)(课本308)
53.从键盘任意输入5个整数,用函数编程实现计算最大值和最小值,并返回它们所在数组中的位置。
54.不使用函数strcat(),编程实现字符串连接函数(使用指针实现)。
55.不使用函数strcat(),编程实现字符串连接函数(使用数组实现)。
56.编程实现将二维数组a[m][n]任意向右平移i各单位,i<
n,将数据在二维数组中的位置改变后在进行输出。
57.利用公式Cij=Aij+Bij计算m*n阶矩阵A和m*n阶矩阵B之和,并输出。
(提示:
用二维数组实现矩阵相加)(课本242)
58.编写一个函数,利用数组实现对字符串的逆序排放并在主函数中输出。
59.有如下数列,“1,1,2,3,5,8,13……”,编程实现输出其前20项,每行五个。
60.编程打印如下的杨辉三角
1
11
121
1331
14641
15101051
61.编写一个Insert()函数,实现对一个有序数列a[n]的插入。
62.编写一个Delet()函数,实现对一个有序数列某个特定元素的删除,释放其所占有
的空间,并输出处理后的数组,若没有找到,则只输出notfind!
63.编程实现:
任意输入英文星期几,在查找星期表后输出对应的数字。
若为查找到,则输出Notfind!
(课本275)
0Sunday
1Monday
2Tuesday
3Wednesday
4Thursday
5Friday
6Saturday
64.编写一个计算任意m行n列的二维数组中元素的最大值,并指出其所在的行列的函数FindMax()。
假设利用FindMax()计算3个班每班4个学生的某门成绩的最高分,并指出其所在的行列。
(课本278)
65.利用动态内存分配实现:
编程输入一个班的某门课成绩,计算平均分,然后输出。
班级人数由键盘输入。
(课本291)
66.利用动态内存分配实现:
编程输入m个班(每班n个学生)某门课的成绩,计算最高分,并指出具有最高分的学生是第几个班的第几个学生。
67.利用指针,编程实现对于长度为n的字符串输出n次,每次较上次首字符不再输出。
例如:
”abcde”,依次输出abcdebcdecdedee。
(课本302)
68.结构体数组应用:
模拟洗牌和发牌过程。
一副扑克有52张,分4种花色(Suit),黑桃(Spades),红桃(Hearts),草花(Clubs),方块(Diamonds)。
每种花色有分13张牌面(Face):
A,2,3,4,5,6,7,8,9,10,Jack,Queen,King。
编程完成洗牌和发牌过程。
(课本323、325)(难度很大)
69编写一个程序实现给出年月日,计算该日是该年的第几天。
70.给出年份和该年第几天,输出这天是该年的几月几日。
71..编写一个函数,求一个给定数的所有因子。
如72=2*2*2*3*3.
72.编写一个函数,利用循环调用函数依次返回两个整数m,n的所有公约数。
例如100,50返回值依次为50,25,10,5,2.
73.写一个函数,实现计算n!
通过主函数调用,实现计算组合数。
74.有一行文字,要求删去其中某个字符。
此行文字和要删的字符均由键盘输入,要删的字符以字符形式输入(如输入a表示要删去所有的字符a).(课本241)
75.输入一行字符,统计其中多有少个单词。
假设单词之间以空格分开。
判断是否有新单词出现的方法—当前被检字符不是空格,而前一被检字符不是空格,则表示有新单词出现)(课本241)
76.编写一个函数实现Mystrcmp()用于实现strcmp()的功能,,将两个字符串进行比较,,然后将两个字符串中第一个比相同的字符的ASCII码值之差作为返回值返回。
(课本241)
77.写一个函数,判断自身不存在相同字符的两个字符串是否可以通过重排字符而得到,例如dare和read、dear都有这种关系。
78.输入10个整数,将其中最小的数与第一个数交换,最大的数与最后的一个数对换。
写三个函数:
1)输入10个数2)进行处理3)输出10个数
79.有n个整数,使前面各数向后平移m个位置,最后m个数变成最前的m个数。
例12345前移两位34512,改变数据在计算机内存中的位置,并进行输出。
80.在主函数中输入10个等长的字符串。
用一个函数对它们排序,然后在主函数输出10个已排好序的字符串。
81.在主函数中输入10个任意长度的字符串。
82.利用一维数组实现替代二维数组来完成对m*n阶数组的转置。
要求:
改变数据在计算机内存中的位置,然后在主函数中输出。
83.写一字符串,包含n个字符,写一函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串,并进行输出。
84..输入一个名词英语单词,按照语法规则将单数转换成复数。
规则如下:
1)以辅音字母y结尾,则加es;
2)以s、x、ch、sh结尾,则加es;
3)以元音o结尾,则加es;
4)其它情况加上s。
85.写一个求三个数平均数的函数,并对其进行调用。
86.通过键盘输入一个字符,判断该字符是数字字符、大写字符、小写字符、空格还是其它字符。
(课本157)
87.编程判断输入整数的正负性
88.编程计算分段函数
y=
x-5
1
ex
x<
x=0
x>
89.编程判断输入整数的奇偶性。
90.在屏幕上显示一张如下所示的时间表:
*****Time*****
1.morning
2.afternoon
3.night
Pleaseenteryourchoice:
操作人员根据提示进行选择,程序根据输入的时间序号显示相应的问候信息。
若出现其他,则显示“Selectionerror!
”,用switch语句编程实现。
(课本158)
91.编程实现输出1~100之间的素数。
92.25个人围成一个圈,从第一个人开始顺序报号,凡报号为3和3的倍数的人退出圈子,找出最后留在圈子中的人原来的序号。
用链表方式实现)(课本356)
93.利用指向结构体数组计算学生各科的平均成绩,学生成绩可以在程序源代码中输入,科目数大于等于两科。
94文件操作:
创建一个名为student.bin的文件,向其中输入至少三中类型的数据,关闭文件。
95文件操作:
打开名为student.bin的文件,读出其中的内容。
96.在必然出错的情况下调用open(),输出错误信息。
(课本386)
97.编程实现输出如下图案:
******
*****
*****
*****
*****
98.调用时间函数产生两个随机数,输出两个随机数,人比较两个数的大小,输入答案,计算机判断对错。
99.韩信点兵。
韩信有一队兵,他想知道有多少人,便让士兵排队报数。
按从1至5报数,最后一个士兵报的数为1;
按从1至6报数,最后一个士兵报的数为5;
按从1至7报数,最后一个士兵报的数是4;
按从1至11报数,最后一个士兵报的数为10。
求韩信的兵数。
100.计算球的表面积和体积,用goto实现多次运算。
第一题:
#include<
stdio.h>
main()
{
inta,b;
printf("
pleaseinputa+b:
\n"
);
scanf("
%d+%d"
&
a,&
b);
%d+%d=%d\n"
a,b,a+b);
return0;
}
第二题:
intx;
x=scanf("
%d%d"
if(x!
=2)
printf("
输入数据类型错误\n"
else
%d,%d\n"
a,b);
3.
math.h>
floata,b,c,p,s;
pleaseentera,b,c:
"
%f,%f,%f"
b,&
c);
if((a+b>
c)&
(a+c>
b)&
(b+c>
a))括号可加可不加!
!
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
%.2f\n"
s);
}
inputerror!
4.
#definePI3.14159
floatr,c,s;
pleaseenterr:
%f"
r);
c=2*PI*r;
s=PI*r*r;
周长=%f\n面积=%f\n"
c,s);
没有特别说明,对输出采用最简单原始方式
5.
inta,b,c,x;
pleaseinput:
%d"
x);
a=x/100;
//百位
c=x%10;
//个位
b=(x-100*a)/10;
//十位
百位%d\n十位%d\n个位%d\n"
a,b,c);
6.
intn=0;
longm;
pleaseenterm(m>
0):
(注意:
最高位数不大于10)
m);
while(m)
n++;
m=m/10;
%d\n"
n);
7.
Intmain()
floata,b,c,dlt,p,q;
abc:
%f%f%f"
p=-b/(2*a);
dlt=b*b-4*a*c;
if(dlt==0)
x1=x2=%f\n"
p);
elseif(dlt>
0)
q=sqrt(dlt)/(2*a);
x1=%f\nx2=%f\n"
p+q,p-q);
q=sqrt(-dlt)/(2*a);
x1=%f+%fi\nx2=%f-%fi\n"
p,q,p,q);
8.
voidqiugen1(floata,floatb)
floatp;
x1=x2=%f\n"
voidqiugen2(floata,floatb,floatdlt)
floatp,q;
q=sqrt(dlt)/(2*a);
x1=%f\nx2=%f\n"
voidqiugen3(floata,floatb,floatdlt)
q=sqrt(-dlt)/(2*a);
x1=%f+%fi\nx2=%f-%fi\n"
floata,b,c,dlt;
pleaseenterabc:
注意,格式输入
qiugen1(a,b);
qiugen2(a,b,dlt);
qiugen3(a,b,dlt);
9.
intm,n;
pleaseenteryourageandyourfriend'
sage:
m,&
n);
if(m>
=n)
youareold!
age=%d\n"
m);
yourfriendisold!
10.
intm;
pleaseentertheyear:
if((m%4==0&
m%100!
=0)||(m%400==0))
YES!
NO!
11.
floatw,h,t;
pleaseenterw,h:
%f%f"
w,&
h);
t=w/(h*h);
if(t<
18)
低体重!
elseif(t>
=18&
t<
=25)
正常体重!
=27)
肥胖!
超重体重!
12.
intmain()
a);
if(a>
100||a<
return0;
b=a/10;
switch(b)
case10:
case9:
printf("
A\n"
break;
case8:
B\n"
case7:
C\n"
case6:
D\n"
default:
E\n"
13.
charch;
%c"
ch);
switch(ch)
case'
A'
:
a'
100--90\n"
B'
b'
90--80\n"
C'
c'
80--70\n"
D'
d'
70--60\n"
E'
e'
60--0\n"
14.
charop;
请输入整形表达式:
%d%c%d"
op,&
格式类型一一要对应
switch(op)
+'
m,n,m+n);
-'
%d-%d=%d\n"
m,n,m-n);
*'
%d*%d=%d\n"
m,n,m*n);
b