C语言编程100题(基础知识、基本结构、数组)

1.输出Hello World!

2.编写程序,将华氏度转换为摄氏度。转换公式为:c = 5 * (华氏度f - 32) / 9;其中,c为摄氏度,f为华氏度。

3.交互输入的四个整数,计算它们的和以及平均值,并输出,要求:平均值保留两位小数。

4.从键盘输入一个n,计算1到n的和。

5.编写1+1/2+1/3+...+1/n计算程序

6有如下函数:  

7. 计算分段函数:

8.求出1-N中的所有素数。

9.判断一个数是否为"水仙花数",所谓"水仙花数"是指一个三位数其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=3^3+7^3+1^3.

10.输出所有的"水仙花数".所谓"水仙花数"是指这样的一个三位数:其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=3^3+7^3+1^3.

11. 编写一个程序输出一定范围内所有的完全数,如果一个数等于它的因子之和,则称该数为“完全数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完全数”。

12. 孪生素数就是指相差2的素数对。例如:3和5,5和7,11和13......输入一个正整数n,输出n以内的所有孪生素数。(此问题可以拓展一到“梅森素数”)

13. 中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱百鸡问题”:一只公鸡值5钱,一只母鸡值3钱,三只小鸡值1钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?

14. 求正整数N以内的所有勾股数。

所谓勾股数,是指能够构成直角三角形三条边的三个正整数(a,b,c)。

15. 两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。

16. 选出三个数中最小数的算法流程图如下图所示:

 17.计算个人所得税,假设个人所得税为:税率*(工资-1600)。请编写程序计算应缴的所得税,其中税率定义为:

(1)当工资不超过1600时,税率为0;

(2)当工资在区间(1600,2500]时,税率为5%;

(3)当工资在区间(2500,3500]时,税率为10%;

(4)当工资在区间(3500,4500]时,税率为15%;

(5)当工资超过4500时,税率为20%。
18.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

19. 输入三角形的3条边a,b,c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数);否则,输出“These sides do not correspond to a valid triangle”。在一个三角形中,任意两边之和大于第三边。三角形面积计算公式: 

(其中,P =(a+b+c)/2)

20.输出如下杨辉三角形的前七行。

1   

1    1

1    2    1

1    3    3    1

1    4    6    4     1

1    5    10   10    5    1

21.求5*5的二维数组的每行元素的平均值。

22. 韩信点兵:在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点名的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:

按从1到5报数,记下最末一个士兵报的数为1;

按从1到6报数,记下最末一个士兵报的数为5;

按从1到7报数,记下最末一个士兵报的数为4;

按1从11报数,最末一个士兵报的数是10;
你知道韩信至少有多少兵吗?试编写相应程序。

23. 求序列前n项的和:输入一个正整数n,输出2/1+3/2+5/3+8/5+.......的前n项之和(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子),保留2位小数。试编写相应程序。

24. 求序列和。输入两个正整数a和n,求a+aa+aaa+aa....a(n个a)之和。比如输入2和3,输出246(2+22+222)。试编写相应程序。

25. 兔子繁衍问题:一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到n对?试编写相应程序。

26. 在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放一次,B舰每隔6秒放一次,C舰每隔7秒放一次,假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。

27. 有一个5*5的二维数组,要求删除每行上的最大值,将剩余的数据输出。

28.从键盘输入10个正负相间的整数,输出个位数是奇数、十位数是偶数的所有数。

29. 计算两点间的距离:给定平面任意两点坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留两位小数)。

30. 输入两个正整数m和n(1<=m,n<=500),统计并输出m和n之间的素数的个数以及这些素数的和。

31. 从键盘中输入全班同学们的C语言课程的成绩,输入-1时停止,统计出各分数段的人数,并输出。(<60、60-69、70-79、80-89、90-100)

32. 输入两个正整数a和n,编程求a+aa+aaa+aa…a(n个a)之和。要求定义并调用函数fn(a,n),它的功能是返回aa…a(n个a)。例如fn(3,2)的返回值是33。

33. 输出指定范围内的Fibonacci数:输入两个正整数m和n(1<=m,n<=10000),输出m~n之间所有的Fibonacci数。

34.验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。例如:6=3+3,8=3+5,…,18=5+13。将6~100之间的偶数都表示成两个奇素数之和,打印时一行打印3组。

35.求100~200间的全部素数。

36.按一定规律将电文变成密码: 将字母A变为E、将字母a变为e,即变成其后的第四个字母,W将变成A。字母按上述规律转换,非字母字符不变。输入一行字符,输出相应密码。

37.输入三个字符串,按由小到大的顺序输出。

38.读入4*3的二维数组,分别求各行、各列及表中所有数之和。

 

39.将二维数组行列元素互换,存到另一个数组中。

40.4*4的二维数组,分别求出主对角线、次对角线上元素之和。

41.定义一个含有30个整型元素的数组,按顺序赋予从2开始的偶数,然后按顺序以每5个数一组的形式求出平均值并输出。

42.有n个人做成一圈,按顺序1到n编好号。从第一个人开始报数,报到m(m<n)的人退出圈子。如此下去,直到留下最后一个人,输入整数n和m,并按退出顺序输出退出圈子的人的编号。试编写相应程序。

43. 定义一个3行3列的二维数组,从键盘输入9个数的值。输出其中最大值和最小值及其所在的行列坐标。

44. 编程计算3*3矩阵的主对角线元素和反向对角线元素之和。

45. 用编程计算并输出杨辉三角形的前n行(要求n从键盘输入)输出杨辉三角形前n行(每一行每个数之间空一格,每行最后一个数不需要空格)

46. 定义一个3行3列的二维数组,从键盘输入9个数的值。输出其中最大值和最小值及其所在的行列坐标。

47.输入某年某月某日,判断这一天是这一年的第几天?程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2月时需考虑多加一天。

48.有1、2、3、4、0  五个数字,能组成多少个互不相同且无重复数字的三位数?分别是多少?

49.输入两个正整数m和n,求其最大公约数和最小公倍数。

50.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

51.题目:打印出如下图案
*
***
*****
*******
*****
***
*

52.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

53.给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

54.对10个数进行排序

55.将一个数组逆序输出。

56.有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

57.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

58.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

59.输入三个整数x,y,z,请把这三个数由小到大输出。

60.输出9*9乘法表。

61.题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

62.求一个3*3的整型矩阵对角线元素之和。

63.编写程序,将两个字符串连接起来,不用strcat函数。

64.从一个三行四列的整型二维数组中查找第一个出现的负数。

65. 

66.有3个字符串,要求找出其中最大者。

67.从键盘输入若干行文本,每行以回车结束,以 ctrl+z 作为输入结束符,统计其行数。

68.从键盘输入字符,以 ctrl+z 结束,统计输入的数字 0~9、空白符和其它字符的个数。

69.从键盘输入一个字符串(长度不超过20,其中不含空格),将其复制一份,复制时将小写字母都转换成为大写字母)。

70.从一个三行四列的整型二维数组中查找第一个出现的负数。

71.用while语句显示1~10的平方。

72.从键盘输入一组数据,以0结束输入,求数据和。

73.输入一个整数,判断它能否被3、5、7整除,并输出以下信息之一:

(1)能同时被3、5、7整除; (2)能被其中两数(要指出哪两个)整除;(3)能被其中一个数(要指出哪一个)个整除;(4)不能被3、5、7任一个整除。

74.输入一个年份,判断某一年是否闰年。

75.打印如下图形:

                 ******

             ******

         ******

     ******

 ******

76.打印如下图形:

******

  ******

    ******

      ******

        ******
77.打印如下图形:

******

  ******

******

  ******

******

  ******

78.打印如下图形:

*

***

******

********

**********

79.从键盘上任意输入两位正整数,编程求出个位与十位的乘积且打印输出。

80.求方程ax²+bx+c=0的根,设b²-4ac>0,a,b,c由键盘输入

(列如,输入1  3  2,可得x1=-1.00,x2=-2.00)

81.键盘输入一个大写字母,要求改用小写字母输出,用puthchar和getchar函数编程。

82.设计计算器程序。用户输入两个运算数和四则运算符,输出计算结果。

例如:输入 :3,4,+<回车>    输出:3+4=7  提示:建议使用switch语句

83.找出1000以内的能被5整除且也能被7整除的所有整数。

84.用do…while循环语句编程求1~100中的偶数之和。

85.编程求满足一下条件的三位数:百位数加上个位数等于十位数,并且次数被5和7整除都整除。

86.编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩。

87.从键盘上输入5个两位数,并按照个位数从小到大排序输出。

88.计算500以内最大的10个能被13或17整除的自然数之和。

89.输出圆面积,面积大于100时停止。

90.小写字母转换成大写字母,直至输入非字母字符。

91.求输入的十个整数中正数的个数及其平均值。

92.读10个整数存入数组,找出其中最大值和最小值。

93.输入一行字符,统计其中的单词个数,单词间空格分开。

94.有一条长阶梯:如果每步跨2阶,那么最后剩1 阶;如果每步跨 3 阶,那么最后剩 2 阶;如果每步跨 5 阶,那么最后剩 4 阶;如果每步跨 6 阶,那么最后剩 5 阶;只有当每步跨 7 阶时,最后才正好走完, 一阶不剩。请问这条阶梯至少有多个阶? 

95.编写程序求出 1000-2000 年之间的所有闰年,并统计个数。

96.计算10的阶乘10!

97.阳阳买苹果,每个苹果0.8元,阳阳第一天买两个,第二天开始每天买前一天的两倍,直到购买的苹果个数为不超过100的最大值,编程求阳阳每天平均花多少钱?

98.编程求一个整数任意次方后的最后三位数,即求X^Y的最后三位数,X和Y的值由键盘输入。

99.3对情侣参加婚礼,3个新。郎分别为a、b、c,三个新郎分别为 x、y、z。有人想知道究竟谁和谁结婚,于是就问新人中的三位,得到如下提示:a说 他将和X结婚;x说她的未婚夫是c;c说她将和z 结婚。这人时候知道他们都在开玩笑,说的全是假话,那么究竟谁和谁结婚呐。

100.根据输入的三角形的三条边判断三角形的类型,并输出它的面积和类型。提示:首先判断所给的三条边是否能组成三角形,若可以构成三角形,则判断该三角形是什么类型,并求三角形面积 。

 

 

               

  • 75
    点赞
  • 640
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海棠弯弯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值