C语言上机练习题 下载本文

内容发布更新时间 : 2024/7/5 0:41:57星期一 下面是文章的全部内容请认真阅读。

上机练习题

1. 输入一个不超过五位的正整数,输出其逆数。例如输入12345,输出应为54321。 2. 计算1+2+3…+n的值,n是从键盘输入的自然数。

3. 从终端(键盘)读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。 4. 从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中

各元素的值。

5. 要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,每种面

值至少1张,编程输出所有可能的换法,程序应适当考虑减少重复次数。

6. 求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,n从键盘输入。

例如若n为1000时,函数值应为:s=153.909064。

7. 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下

车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索找出车号。

8. 输入1~10之间的一个数字,输出它对应的英文单词。

9. 个位数为6且能被3整除但不能被5整除的三位自然数共有多少个,分别是哪些? 10. 用自然语言描述程序逻辑如下,试写程序。

① 设置环境;

② 定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0; ③ i=1;

④ 如果i≤100,则转⑤,否则转⑧;

⑤ 令s=0,求前i个自然数之和,并放于变量s之中; ⑥ sum=sum+s; ⑦ i增加1,转④; ⑧ 输出和sum,结束。

11. 用自然语言描述的程序逻辑为:

① 设置环境;

② 定义变量i、flag和password,并令flag=0,i=0; ③ 用户回答口令,将其赋于password变量;

④ 口令正确?如果是,则flag=1,转⑥。否则转⑤; ⑤ 回答三次口令了吗?如果没有,计数器加1后(i++),转③,否则转⑥; ⑥ 根据flag之值输出相应信息。 12. 用自然语言描述的程序逻辑如下:

① 设置环境;

② 定义变量digit、x、y分别表示原始数、原始数的个位数和逆数; ③ 输入原始正整数x;

④ 从x中分解出个位数字digit; ⑤ 合并个位digit至逆数y中; ⑥ 原始数x缩小10倍:x=x/10; ⑦ 如果x非零,则转④; ⑧ 输出逆数y,结束

13. 输入某三角形的三个边的长度,判断出这是个什么三角形(等腰、等边、任意,或不能构

成)。

14. 输入10个数,分别统计其中正数、负数、零的个数。 15. 先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。(设N为100)

16. 用for编程找出100~200中的完全平方数。

17. 从终端输入三个正实数,判断这三个数能否构成直角三角形。

18. 输入一行字符,统计其中有多少个字母(包括大写字母和小写字母)。

19. 输入一个字串,判断它是否是对称串。如”abcdcba”是对称串,”123456789”不是。 20. 随机产生N个大写字母输出,然后统计其中共有多少个元音字符。(设N为200) 21. 找出三位自然数中的所有素数,要求判断x素数用自定义函数data(x)实现。

22. 输出n行由“#”组成的矩形,每行“#”的个数为m个,其中n、m由终端(键盘)输入。

要求输出m个“#”功能由函数satr(m)函数实现。 23. 若ax2+bx+c=0有实根,则求之。

24. 从键盘输入两个字串,判断它们是否相同。

25. 从键盘输入两个字串,输出其中较短的那个字串,并输出它的长度。 26. 从键盘输入长度不等的两个字串,将短串连接于长串之后输出。 27. 从键盘输入长度不等的两个字串,将长串连接于短串之后输出。 28. 随机产生N个两位自然数,降序排列后输出。(设N为20)

29. 从键盘输入两个字串,输出其中较长的那个字串,并输出它的长度。

30. 从键盘输入10个战士的身高,输出平均身高,并找出哪些身高低于平均身高。 31. 从键盘输入10个战士的身高,输出平均身高,并找出哪些身高高于平均身高。 32. 从键盘输入10个战士的身高,输出最高、最低的身高。

33. “百钱百鸡”问题。百钱买百鸡,鸡翁一值钱三,鸡母一值钱二,鸡雏三值钱一,问鸡翁、

鸡母、鸡雏各几何?

34. 有三个小孩,一个比一个大2岁,已知其年龄之和为39,问这三个小孩各几岁?

35. 键盘输入长方体的长宽高l、w、h,求其体积及表面积。要求用自定义函数val(l,w,h)计算

长方体的体积和表面积,计算结果使用全局变量带回主函数。 36. 计算:1/2+1/4+……+1/n,设n是由键盘输入的正偶数。 37. 计算:1/1+1/3+……+1/n,设n是由键盘输入的正奇数。 38. 计算:1/2-2/3+3/4-4/5??,前100项。

39. 从终端输入3个数a、b、c,按从大到小的顺序输出。

40. 公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四人中每人

要么是诚实的,要么总是说谎的。在回答公安人员的问题中:甲说“乙没有偷,是丁偷的”, 乙说“我没有偷,是丙偷的”,丙说“甲没有偷,是乙偷的”,丁说“我没有偷”。请根据这四人的答话判断谁是盗窃者。

41. 求s=a+aa+aaa+aaaa+......+aa...a的值,其中a是1~9之间的一个数字,表达式项数从键盘输

入(设不超过10项)。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。

42. 设N是一个四位数,它的9倍恰好是其反序数,求N。反序数就是将整数的数字倒过来形

成的整数。例如:1234的反序数是4321。

43. 爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步

跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问这条阶梯至少有多少阶? 44. 输入任意一行字符,降序排列之。

45. 输入一行字符串,按如下规则加密:如果是英文字母则大写变小写、小写变大写,对非英

文字符则保持不变。试写加密程序。

46. 输入一行小写英文字母,按如下规则加密:a→c、b→d、…、x→z、y→a、z→b,试写加

密程序。

47. 输入一行英文,已知各单词之间用1个空格相隔(设第一个单词前没有空格),统计这行

英文有多少个单词。

48. 求1+12+123+……前n项之和,其中n是从键盘输入的一个数字(1~9)。 49. 小学生智商测试。让电脑随机出十道100以内整数的加法题(10分/题),小学生从键盘回

答答案,统计小学生最后得分。

50. 斐氏数列是公元13世纪数学家斐波拉契发明的。即:1,2,3,5,8,13,21,34,55,

89,??,输出其前15项。