您的当前位置:首页正文

C语言题库

2022-02-01 来源:赴品旅游


1. 输入一个整数,判断它是几位数?(*)

2. 编制一函数,得到一个整数的某一位的数字。(*)

3. 求出所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该数。例如153=1^3+5^3+3^3。(**)

4、编写函数fun求1000以内所有7的倍数之和。(*)

int fun(int m){ }

5、将一个数组中的元素按逆序存放。(*)

6、输入三个整数x,y,z,请把这三个数由小到大输出。(*)

7、递归调用计算阶乘, 输入n,求n的阶乘(*)

8、删除字符串中的数字字符。例如:输入字符串:48CTYP9E6,则输出:CTYPE。(**)

9、计算并输出500以内最大的10个能被13或17整除的自然数之和。(*)

10、统计一个字符串中的字母、数字、空格和其它字符的个数。(*)

11、不用第三个变量,实现两个数的对调操作。(**)

12、求1!+3!+5!+……+n!的和。(**)

13、求一批数中最大值和最小值的差。(*)

14、编写函数fun,函数的功能是:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。每一分数的分母是前两项的分母之和;每一分数的分子是前两项的分子之和。例如:求前20项之和的值为32.660259。(**)

15、打印出如下图(菱形)(**)

*

***

*****

*******

*****

***

*

16、用冒泡法对数组a进行由小到大的排序。(*)

17、求出二维数组中的最大元素值(*)

18、输入一个字符串,对字符串逆序输出(*)

19、已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和。编程打印此数,直到某项的值超过200为止。(***)

20、计算平均成绩并统计90分以上人数。(*)

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

22、判断101-200之间有多少个素数,并输出所有素数。(**)

23、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。1.程序分析:采取逆向思维的方法,从后往前推断。(***)

24、编写函数fun,函数的功能是:求一组数中大于平均值的数的个数。例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 int fun(int a[],int n){ }(*)

25、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。(*)

26、有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到

3的人退出 圈子,问最后留下的是原来第几号的那位。(***)

27、给出一个整型数组并构造单链表,链表的每个节点包含一个整形数和节点指针(***)

1.打印链表(PrintList)

2.建立链表(CreateList)

3.链表末尾插入节点(InsertList)

4.链表中删除指定节点(DeleteNode)

5.找链表中第一个出现的最小节点(FindMin)

28.编程打印图形(考虑将输出的行数由输入的值来控制):(***)

1

121

12321

1234321

123454321

12345654321

29、编写程序,求sum = 1-3+5-7+……-99+101 (**)

30.求斐波那契数列前40个数。(***)

31.求1000以内的所有完全数。(完全数:一个数恰好等于它的因子之和。例如:6 1+2+3)(***)

32.输入一行字符,统计其中有多少个单词,单词之前用空格隔开。(***)

33.输出一下杨辉三角。(***)

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

. . . . . . . . . .

34.用插入法对数组中10个整数按从小到大的顺序排序。(*)

35.编写一个函数,将字符数组S2中的全部字符复制给字符数组S1,不用strcpy函数。’\\0’后面的字符不复制。(**)

36.用递归法将一个整数n转换成字符串,例如输入483,应输出字符串“483”。n的位数不确定,可以是任意位数的整数。(***)

37.第一个带参数的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输入已交换后的两个值。(*)

38.定义一个二维数组,在主函数中自动赋值。请编写函数void fun(int a[ ][n]),函数实现的功能是:使数组左下半三角元素的值全部置0.(*)

39.求a 和 b 的最大公约数 和最小公倍数。(**)

40.打印乘法口诀表(*)

41.求18的20次方的最后4位。(**)

42.一辆卡车违反了交通规则,撞人之后逃跑。现场有三位目击事件,但都没有记住车号,只记住车号的一些特征。甲说:牌照的前两位数子相同,乙说:牌照的后两位数也相同,但与前两位不同。丙说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。

(**)

43.公鸡五元一只,母鸡三元一只,小鸡三只一元。现想要用一百块钱去买一百只鸡,请问有几种方案?

(***)

44.现有一堆零件,如果两个零件为一组则最后剩一个零件。如果三个零件为一组,则最后剩两个零件,如果五个零件为一组则最后剩四个零件,如果六个零件为一组则最后剩五个零件.只有七个零件为一组得时候才刚好不剩。请问一共有多少个零件?

(*)

45.一个球从100米高度自由落下,每次落地后反跳回原高度得一半,再落下,再反弹。求它在第10次落地时,共经过多少米?第10次反弹多高?(***)

46.求Sn=a+aa+aaa+aaaa+…+aaaaa…a(n个a)之值,其中a是一个数字,n表示a的位数。n由键盘输入。(**)

47.找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,该列上最小,也可能没有鞍点。(***)

48.输出以下图案:(**)

* * * * *

* * * * *

* * * * *

* * * * *

* * * * *

49.写一个函数,使给定的3*3的二维整型数组转置,即行列互换。

(*)

50.写一个函数,输入一行字符,将此字符串中最长的单词输出。

(***)

51.写一个函数,输入一个十六进制,输出相应的十进制。

(***)

52.给出年、月、日,计算该日是该年的第n天。

(***)

53.用指针方法处理:有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符。

(**)

54.将一个5*5的矩阵中最大的元素放在中心,4个角放最小的元素。(*)

55.用指针的方法,写一个函数实现两个字符串的比较。(***)

56.将若干字符串按字母顺序(从小到大)输出。(用指针)(**)

57.有若干学生的成绩(每个学生有4门课),要求找出其中不及格课程的学生及其学生号。(用指针)(***)

58.用pi/4 = 1 - 1/3 + 1/5 - 1/7…公式求pi的近似值,直到某一项的绝对值小于10e-6为止。(***)

59.根据公式e = 1+1/1!+1/2!+1/3!+1/4!+…求e的近似值,精度要求为10的-6方。

60.输出1~1000以内所有的完全数。

61.找出1000以内的所哟同构数。同构数:一个数出现在它的平方和的右边。比如5是25右边的数,25是625右边的数。5和25都是同构数。

62.输出一下9阶方程。

1 1 1 1 1 1 1 1 1

1 2 2 2 2 2 2 2 1

1 2 3 3 3 3 3 2 1

1 2 3 4 4 4 3 2 1

1 2 3 4 5 4 3 2 1

1 2 3 4 4 4 3 2 1

1 2 3 3 3 3 3 2 1

1 2 2 2 2 2 2 2 1

1 1 1 1 1 1 1 1 1

63.输入0~9之间的数,知道输入-1表示结束,打印每个数的出现次数。

64.从键盘输入一个字符,用折半查找法查找该字符在已排序的字符串a中的位置。

65.从键盘输入一个大写英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。如指定字母为Z。则打印YZA。

66.将字符串a中下标值为偶数的元素由小到大排序,其他元素不变。

67.有十个字符串,按从小到大排序。

68.打印一个n(n < 10)阶的螺旋方阵。

1 2 3 4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

69.从键盘输入一个字符串a,并在a串中的最大元素后面插入字符串b。

70.输入一个偶数,将偶数写成两个素数之和的形式。例如,8=3+5

71.函数del的作用是删除已按升序排列的数组a中指定元素x。

72.从键盘输入一个整数m(4<=m<=20),输出如下的整数方阵。如输入4

16 9 4 1

9 4 1 16

4 1 16 9

1 16 9 4

73.函数fun的功能是从3个红球,5个白球,6个黑球中任意取出8个,其中必须要有红球和白球,输出所有方案。

74.统计字串在母串出现的次数。如字串”abc” 在母串” abcuiw sdhi abcsjhd ”,出现的次数为2次。(用指针)

75.在字符串str中找到最大的字符并放在第一个位置上,并将该字符前的原字符往后顺序移动。如chyab 变成ychab。(用指针)

76.删除字符串s中的所有空格。(用指针)

77.从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。(用指针)

78.找出英文句子中最长的单词并打印。假设该句子中只含字母和空格,单词之间以空格隔开。

79.检查字符串s中左括号‘(’和右括号‘)’是否输入正确。当输入‘)’时要考虑‘)’的个数不能大于‘(’。字符串结束后右括号的个数也左括号的个数相等。

80.求矩阵A的转置矩阵B,并打印两个矩阵。

81.把十进制整数转换成二进制数,打印输出。

82.给方阵a中所有边上的元素和两个对角线上的元素置1,其他元素置0。要求对每个元素只能置一次值。

83.将字符串computer赋给一个字符数组,然后从第一个字母开始间隔输出该串。用指针编写。

84.结构体。按学生姓名查询其排名和平均分。查询可连续进行,直到输入0时结束。

85.结构数组中存有3人的姓名和年龄,输入3人中年龄居中者的姓名和年龄。

86.统计学生的成绩,其功能包括输入学生姓名和成绩,按成绩从高到低排列打印输出,对前70%的学生定为合格,对后30%的学生定为不合格。

87.计算循环单链表中每3个相邻节点数据域中的和,并返回其中最小值。

88.读入两个学生的情况存入结构数组,每个学生的情况包括:姓名、学好、性别。若是男生,则还登记视力是否正常(正常Y,不正常N),对女生则还登记身高和体重。

89.head指向一个带头节点的单向链表,每个节点包括数据域和指针域。链表中各节点按数据域递增有序链接,写一个函数,功能:删除链表中数据域值相同的节点,使之保留一个。

90.项目题:

根据现有的若干学生创建一个单链表,单链表节点结构如下:

struct student

{

char name[N];

int age;

int gend;

int studentId;

struct student *next;

}

一. 程序能提供菜单供用户操作,菜单说明各种操作对应的命令号,例如:

1. 打印所有学生信息,请按1

2. 删除一个学生的信息,请按2(用户按2之后,输入学号,回车即删除)

3. 修改一个学生信息,请按3 (用户按3之后,能依次输入姓名,年龄,性别,回车即修改,学号不能修改)

4. 增加一个学生信息,请按4 (用户按4之后,能依次输入姓名,年龄,性别,学号回车即增加,学号不能重复,否则提示“学号不能重复,增加失败”)

5. 查找学生信息,请按5 (能根据学号进行查找,最好能做到模糊查找,例如输入201408,则所有包含201408的学号所对应的学生信息都要打印出来)

因篇幅问题不能全部显示,请点此查看更多更全内容