经典C语言程序设计试题集

§2.1输入输出程序
【01.】输出格式问题:若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'。
编写程序得到以下输出格式和结果。
a=3


b=4
c=5
x=1.200000,y=2.400000,z=-3.600000
x+y=3.60
y+z=-1.20
z+x=-2.40
u=51274
n=128765
c1='a'or97(ASCII)
c1='B'or98(ASCII)


§2.2选择分支程序
【02.】判断问题:编写程序,判断某一年是否闰年。


【03.】分支问题:某单位马上要加工资,增加金额取决于工龄和现工资两个因素:对于工龄大于等于20年的,如果现工资高于2000,加200元,
否则加180元;对于工龄小于20年的,如果现工资高于1500,加150元,否则加120元。工龄和现工资从键盘输入,编程求出下表加工资后的员工工资。
工龄y(年)
现工资S0(元)
调整后工资S(元)
25
2200


22
1900


18
1700


16
1400




【04.】分支问题:输入1~7之间的任意数字,程序输出相应的星期名称。


【05.】分段函数问题:有如下函数,要求输入x的值,求y的值。


分别使用数据-5,0,5,10,100做测试


§3循环结构程序
【06.】累加累乘问题:利用下面公式求e的值,直到误差小于为止。




【07.】数列问题:求分数数列:前20项之和。


【08.】迭代问题:求Fibonacci数列前40个数,Fibonacci数列如下定义:




【09.】穷举问题:输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如:153是"水仙花数",因为。


【10.】图案问题:分别输出以下(a)、(b)、(c)图案。
(a)
(d)
(c)
*
**
***
****
*****
******
*******
*
**
***
****
*****
******
*******
*
***
*****
*******
*****
***
*


§4数组应用程序
【11.】输入15个整数,将其按正序和反序打印出来。(输入数据:6,8,9,1,2,5,4,7,
3,18,23,44,22,11,16)


【12.】矩阵问题:输入一个3X4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号。


【13.】字符串问题:编写程序输入两个字符串,将比较大的字符串打印出来。然后将两个字符串合并,并将合并后的结果输出。


【14.】字符串问题:输入一行字符,统计其中有多少个单词(单词之间用空格分隔开)。


§5.1函数指针程序
【15.】编写一个函数double avg(double A[],int n),函数的功能是求数组中n个元素的平均值。在主函数中输入20个数据,调用函数输出平均值。


【16.】编写一个函数void strcopy(char *s,char *d),函数的功能是将d所指向的字符串复制到s所指向的字符数组中(不能使用strcpy函数)。在主函数中输入一个字符串,调用函数复制到另一个字符串中且打印出来。(输入:This is c program)


§5.2结构应用程序
【17.】有一个结构STUDENT,内含学生学号、姓名和3门课程成绩,编写程序输入10个学生的信息,并输出3门总分最高的学生的学号和姓名。


§6常用算法程序
【18.】编写程序求两个整数的最大公约数和最小公倍数。


【19.】编写一个函数IsP(int n),函数的功能是检查n是否为素数,如果是函数返回"真",否则返回"假"。在主函数中调用该函数,打印100~1000之间的全部素数。


【20.】用筛选法求100之内的素数。


【21.】用二分查找法在已排序好的数组中查找输入的数。如果找到了输出该数的下标,否则输出"未找到"。(数组为:1,2,13,24,25,44,57,63,66,78,90,100)。


【22.】编写一个函数sort(int A[],int n),函数的功能是用冒泡法对数组进行由大到小的排序,其中n为数组A的元素个数。在主函数中输入10个数据,调用函数排序,然后输出排序好的10个数据。(输入数据:6,8,9,1,2,5,4,7,3,18)


【23.】编写一个函数sort(int A[],int n),函数的功能是用选择法对数组进行由小到大的排序,其中n为数组A的元素个数。在主函数中输入10个数据,调用函数排序,然后输出排序好的10个数据。(输入数据:6,8,9,1,2,5,4,7,3,18)






- 1 -

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值