C语⾔必考100题
1.按下述格式,从键盘输⼊⼀个整数加法表达式:操作数1+操作数2,然后计算
并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果。
2.输⼊两个整形数并打印,如果⽤户不慎输⼊了⾮法字符,那么程序提⽰“输⼊
数据类型错误”。
3.已知三⾓形的三边长a,b,c,要求编写程序,从键盘输⼊a,b,c的值,计算
并输出三⾓形的⾯积(注意不存在的情况)。
4.编程从键盘输⼊圆的半径r,计算并输出圆的周长和⾯积。
5.任意从键盘输⼊⼀个三位整数,要求正确分离它的个位,⼗位和百位数,并分
别在屏幕上输出。
6.写⼀个函数实现统计⼀个输⼊的整形数的位数。
7.编程计算⽅程ax*x+bx+c=0的根,a,b,c由键盘输⼊,只是⽤主函数来实现。
8.编写三个函数,分别在b*b-4*a*c⼤于0、⼩于0、等于0时进⾏调⽤,并输出
结果,在主函数中读⼊a、b、c的值。
9.从键盘输⼊你和你朋友的年龄,变成判断谁的年龄⼤,并打印最⼤者的年龄。
10.从键盘输⼊⼀个年份,判断该年是否是闰年,并输出结果。
11.判断某⼈是否属于肥胖体型。根据⾝⾼与体重因素,医务⼯作者经⼴泛的调查
分析给出了以下按“体指数”对肥胖程度的划分:体指数t=w/h*h(w为体重,单位为kg,h为⾝⾼,单位为m)。当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t≧27时,为肥胖。编程从键盘输⼊你的⾝⾼h和体重w,根据上式,判断体重类型。
12.利⽤switch语句将百分制成绩转化为五分制成绩。
13.利⽤switch语句将五分制成绩转换成对应分数范围并输出。
14.编程设计⼀个简单的计算器程序,要求根据⽤户从键盘输⼊的表达式:操作数
1 运算符op 操作数
2 计算表达式的值,指定的运算符为加减乘除。
15.利⽤时间函数编写⼀个猜数程序。
16.编程实现计算n的阶乘。
17.利⽤函数递归实现计算n!。
18.利⽤π/4=1-1/3+1/5-1/7……计算π的值直到最后⼀项的绝对值⼩于0.0001
为⽌,要求统计总共累加了多少项。
19.编程输出正三⾓格式的九九乘法表。
20.编程输出下三⾓格式的九九乘法表。
21.从键盘任意输⼊⼀个正整数,编程判断它是否是素数,若是素数,输出“YES”,
否则输出“NO!”。
22.编写⼀个程序实现输出1—100之间所有素数。
23.编写⼀个程序实现输出任意指定m、n之间的所有素数。
24.读⼊⼀个年份和⽉份,打印出该⽉有多少天(考虑闰年),⽤switch语句编程。
25.打印所有的⽔仙花数。所谓⽔仙花数是指⼀个三位数,其各位数字的⽴⽅和等
于该数本⾝。(例159=1*1*1+3*3*3+5*5*5)
26.鸡兔同笼,共有98个头,386只脚,编程求鸡兔各多少只。
27.⽤1元5⾓钱⼈名币兑换5分、2分和1分的硬币(每⼀种都要有)共⼀百枚,
问共有⼏种兑换⽅案?并输出每种⽅案。
28.三⾊球问题。若⼀个⼝袋中放有12个球,其中有3个红⾊的,3个⽩⾊的,6
个⿊⾊的,从中任取8个球,问共有多少种不同的颜⾊搭配?
29.打印100以内整数的平⽅根表。
30.编程打印⼀下图案:
@
@ @ @
@ @ @ @ @
@ @ @ @ @ @ @
31.设计⼀个函数,计算两个正整数的最⼩公倍数。
32.设计⼀个函数,计算两个正整数的最⼤公约数。
33.编程使⼆维数组a[m][n]按如下输⼊输出
例:input 1 2 3 output 1 4
4 5 6 2 5
3 6
34.从键盘输⼊某班学⽣某门课的成绩(每班⼈数最多不超过40⼈,具体⼈数由键盘输⼊),试编程打印最⾼分及其学⽣序号。
35.从键盘输⼊五个数,利⽤冒泡法排序,输出排序后的结果。
36.从键盘输⼊五个数,利⽤选择法排序,输出排序后的结果。
37.从键盘任意输⼊五个学⽣的姓名,编程出并输出按字典顺序排在最前⾯的学⽣姓名。
38.从键盘任意输⼊五个学⽣的姓名,编程出并输出按字典顺序的五个学⽣姓名。
39.编程实现从键盘任意输⼊5个正整数,统计⾮负数个数,并计算⾮负数之和。
40.从键盘任意输⼊5个正整数,⽤函数编程实现将其中最⼤数和最⼩数的位置对换后,再输出调整后的数组。
41.输⼊5*5的矩阵,编程实现:求两条对⾓线上⾏、列下标均为偶数的各元素之积。(提⽰(i==j)||
(i+j==4)&&(i%2==0)&&(j%2==0))
42.编程将下列矩阵中的元素向右移动⼀列,最后⼀⾏移⾄第⼀列。
1 9 3
5 10 21
43.输⼊⼀⾏字符,统计其中的英⽂字符、数字字符、空格及其他字符的个数。
44.从键盘任意输⼊两个整数,利⽤指针变量作为函数参数,编程实现两数互换功能,然后将交换后的数据重新输出。
45.⽤字符指针编程实现字符串复制函数。
46.⽤字符指针编程实现求字符串长度函数。
47.编写⼀个程序,可以实现在⼀个数组中删除指定的元素。如:数组元素为1,2,3,输⼊3,便删除3,输出1,2;若输⼊4,则继续输出1,2,3。
48.编程将若⼲字符串按字母顺序由⼩到⼤排序后输出。(⼆维数组和指针数组均可)。
49.编程输⼊⼀个班的某课程的学⽣成绩,计算其平均分,然后输出,班级⼈数由键盘输⼊。
50.编程实现从键盘输⼊⼀个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串(要求:使⽤
头指针和尾指针来实现)。
51.编程判断输⼊的⼀串字符是否为“回⽂”。所谓回⽂是指顺读和倒读都⼀样的字符串,如“ABCCBA”是回⽂。
52.⽤指针数组编程实现:从键盘任意输⼊⼀个数字表⽰⽉份值n,程序输出该⽉份的英⽂表⽰,若n不在1~12之间,则输
出“Illegal month”。("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
改变后在进⾏输出。
57.利⽤公式Cij=Aij+Bij计算m*n阶矩阵A和m*n阶矩阵B之和,并输出。(提⽰:⽤
⼆维数组实现矩阵相加)
58.编写⼀个函数,利⽤数组实现对字符串的逆序排放并在主函数中输出。
59. 有如下数列,“1,1,2,3,5,8,13……”,编程实现输出其前20项,每⾏五个。
60.编程打印如下的杨辉三⾓
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
61.编写⼀个Insert()函数,实现对⼀个有序数列a[n]的插⼊。
62.编写⼀个Delet()函数,实现对⼀个有序数列某个特定元素的删除,释放其所占有
的空间,并输出处理后的数组,若没有到,则只输出not find!
63.编程实现:任意输⼊英⽂星期⼏,在查星期表后输出对应的数字。若为查到,
则输出Not find!
0 Sunday
1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday
64.编写⼀个计算任意m⾏n列的⼆维数组中元素的最⼤值,并指出其所在的⾏列的函数FindMax()。假设利⽤
FindMax()计算3个班每班4个学⽣的某门成绩的
最⾼分,并指出其所在的⾏列。
65.利⽤动态内存分配实现:编程输⼊⼀个班的某门课成绩,计算平均分,然后输出。班级⼈数由键盘输⼊。
66. 利⽤动态内存分配实现:编程输⼊m个班(每班n个学⽣)某门课的成绩,计算最⾼分,并指出具有最⾼分的学⽣是第⼏个班的第⼏个学⽣。
67.利⽤指针,编程实现对于长度为n的字符串输出n次,每次较上次⾸字符不再输出。
例如:”abcde”,依次输出abcde bcde cde de e 。
68.结构体数组应⽤:模拟洗牌和发牌过程。⼀副扑克有52张,分4种花⾊(Suit),⿊桃(Spades),红桃(Hearts),草花(Clubs),⽅块(Diamonds)。每种花⾊有分13张牌⾯(Face):
A,2,3,4,5,6,7,8,9,10,Jack,Queen,King。编程完成洗牌和发牌过程。(难度很⼤)
69编写⼀个程序实现给出年⽉⽇,计算该⽇是该年的第⼏天。
70.给出年份和该年第⼏天,输出这天是该年的⼏⽉⼏⽇。
71. .编写⼀个函数,求⼀个给定数的所有因⼦。如72=2*2*2*3*3.
72. 编写⼀个函数,利⽤循环调⽤函数依次返回两个整数m,n的所有公约数。例如100,50c语言游戏编程题经典100例
返回值依次为50,25,10,5,2.
73. 写⼀个函数,实现计算n!,通过主函数调⽤,实现计算组合数。
74. 有⼀⾏⽂字,要求删去其中某个字符。此⾏⽂字和要删的字符均由键盘输⼊,要删的字
符以字符形式输⼊(如输⼊a表⽰要删去所有的字符a).
75.输⼊⼀⾏字符,统计其中多有少个单词。假设单词之间以空格分开。(提⽰:判断是否
有新单词出现的⽅法—当前被检字符不是空格,⽽前⼀被检字符不是空格,则表⽰有新单词出现)
76.编写⼀个函数实现Mystrcmp()⽤于实现strcmp()的功能,,将两个字符串进⾏⽐较,,
然后将两个字符串中第⼀个⽐相同的字符的ASCII码值之差作为返回值返回。
77. 写⼀个函数,判断⾃⾝不存在相同字符的两个字符串是否可以通过重排字符⽽得到,例
如dare和read、dear都有这种关系。
78. 输⼊10个整数,将其中最⼩的数与第⼀个数交换,最⼤的数与最后的⼀个数对换。
写三个函数:1)输⼊10个数2)进⾏处理3)输出10个数
79. 有n个整数,使前⾯各数向后平移m个位置,最后m个数变成最前的m个数。例1 2 3
4 5 前移两位3 4 5 1 2,改变数据在计算机内存中的位置,并进⾏输出。
80. 在主函数中输⼊10个等长的字符串。⽤⼀个函数对它们排序,然后在主函数输出10个
已排好序的字符串。
81. 在主函数中输⼊10个任意长度的字符串。⽤⼀个函数对它们排序,然后在主函数输出
10个已排好序的字符串。
82.利⽤⼀维数组实现替代⼆维数组来完成对m*n阶数组的转置。要求:改变数据在计算机内
存中的位置,然后在主函数中输出。
83. 写⼀字符串,包含n个字符,写⼀函数,将此字符串从第m个字符开始的全部字符复制
成另⼀个字符串,并进⾏输出。
84. .输⼊⼀个名词英语单词,按照语法规则将单数转换成复数。规则如下:
1)以辅⾳字母y 结尾,则加es;
2)以s、x、ch、sh 结尾,则加es;
3)以元⾳o 结尾,则加es;
4)其它情况加上s。
85.写⼀个求三个数平均数的函数,并对其进⾏调⽤。
86.通过键盘输⼊⼀个字符,判断该字符是数字字符、⼤写字符、⼩写字符、空格还是其它
字符。
87.编程判断输⼊整数的正负性
88.编程计算分段函数
89.编程判断输⼊整数的奇偶性。
90.在屏幕上显⽰⼀张如下所⽰的时间表:
*****Time*****
2.afternoon
3.night
Please enter your choice:
操作⼈员根据提⽰进⾏选择,程序根据输⼊的时间序号显⽰相应的问候信息。若出现其他,则显⽰“Selection error!”,⽤switch语句编程实现。
91.编程实现输出1~100之间的素数。
92. 25个⼈围成⼀个圈,从第⼀个⼈开始顺序报号,凡报号为3和3 的倍数的⼈退出圈⼦,出最后留在圈⼦中的⼈原来的序号。(提⽰:⽤链表⽅式实现)
93.利⽤指向结构体数组计算学⽣各科的平均成绩,学⽣成绩可以在程序源代码中输⼊,科⽬数⼤于等
于两科。
94⽂件操作:创建⼀个名为student.bin的⽂件,向其中输⼊⾄少三中类型的数据,关闭⽂件。
95⽂件操作:打开名为student.bin的⽂件,读出其中的内容。
96.在必然出错的情况下调⽤open(),输出错误信息。
97.编程实现输出如下图案:
******

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。