C程序设计编程(大约80题)
1. 求出10至1000之内能同时被2、3、7整除的数,并输出。
2. 数组a中有数据{21,5,58,9,3,66},再为x输入一个数据,在数组a中出第一个与x相等的元素并将其下标输出,若不存在这样的元素,则输出“Not found!”标志。
3. 求1到100之间的奇数之和及偶数之和,并将二者输出。
4. 随机产生20个30~99的正整数,采用起泡法按照从小到大排序后输出。(提示:产生一个20~99的正整数的表达式是:30+(rand()+90)%(99-30+1)), rand()函数在库函数math.h中)
5. 从键盘输入10个同学的数学成绩,统计90分以上和不及格的人数,并计算平均成绩,要求输出这些结果。
6. 编写一判断m是否是素数的函数,在主函数中输出十对最小的孪生素数。所谓孪生素数是指两个相差为2的素数,如3和5,11和13。
函数原型为: int isprime(int m);
函数原型为: int isprime(int m);
7. 从键盘输入10个整数,查出最大数和最小数并指出它们在10个数中的排列位置(属于第几个数)。
8. 编写自定义函数fun实现字符串t的逆序存放功能,要求在主函数中输入字符串、调用fun函数,然后输出逆序的字符串。 函数原型为:void fun (char *t)
9. 编程计算一个3×3矩阵的两条对角线元素之和。(要求:3×3矩阵由键盘输入)
10. 请编写函数fun,函数的功能是:在字符串中所有数字字符前加一个$字符。在主函数中输入字符串,并调用fun函数完成字符串转换,然后在主函数中输出结果。例如:原字符串p 为“ab56def8g”, 生成新字符串q 为“ab$5$6def$8g”
函数原型为: char * fun(char *p,char *q)
函数原型为: char * fun(char *p,char *q)
11. 编程实现将一个2×3矩阵转置后输出。
12. 自定义插入排序函数 fun,向N个已经从小到大排序的整数中,输入一个新数插入到适当的位置,使N+1个整数仍然有序。 要求在主函数中实现数组初始化的新数据的输入。 函数原型为: void fun(int *a, int N+1,int x)
13. 从键盘输入两个正整数,输出其最大公约数和最小公倍数。(要求采用辗转相除法)
14. 对随机产生的10个20~99的正整数,采用选择法进行从小到大排序并输出。(提示:产生一个20~99的正整数的表达式是:20+(rand()+90)%(99-20+1)), rand()函数在库函数math.h中)
15. 替换加密 ( 恺撒加密法 ) :
加密规则是:将原来的字母用字母表中其后面的第 3 个字母的大写形式来替换,对于字母表中最后的三个字母,可将字母表看成是首未衔接的。如字母 c 就用 F 来替换,字母 y 用 B 来替换。(请将字符串“ I love you ”译成密码。)
加密规则是:将原来的字母用字母表中其后面的第 3 个字母的大写形式来替换,对于字母表中最后的三个字母,可将字母表看成是首未衔接的。如字母 c 就用 F 来替换,字母 y 用 B 来替换。(请将字符串“ I love you ”译成密码。)
16. 有10个数55,2,6,4,32,12,9,73,26,37,设计程序把这10个数用冒泡排序法按升序排列。
17. 已知abc+cba=1333,其中a,b,c均为一位数字,编程求出满足条件的a,b,c所有组合。
18. 随机产生20个10~50的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。(提示:产生一个10~50的正整数的表达式是:10+(rand()+90)%(50-10+1)), rand()函数在库函数math.h中)
19. 输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。 如输入:56439,输出:
5位数
5,6,4,3,9
9,3,4,6,5
5位数
5,6,4,3,9
9,3,4,6,5
20. 编写自定义函数:用选择法将数组排成降序的函数----fun;
主函数:输入任意10个正整数给数组,调用fun对数组进行排序,从键盘输入一个正整数
函数原型为:void fun(int a[],int n)
主函数:输入任意10个正整数给数组,调用fun对数组进行排序,从键盘输入一个正整数
函数原型为:void fun(int a[],int n)
21. 出 100 到 999 之间的整数中,所有等于每位数字立方和的数(即水仙花数)。
例如 153=1^3+5^3+3^3
例如 153=1^3+5^3+3^3
22. 编写一个函数scmp实现对两个字符串的比较。不能使用C语言提供的标准函数strcmp。要求在主函数中输入两个字符串,并输出比较的结果(相等的结果为0,不等时结果为第一个不相等字符的ASCII差值)。
函数原型为:int scmp(char * s, char *t)
函数原型为:int scmp(char * s, char *t)
23. 编程实现:求一个4*4矩阵主对角线(左上角到右下角)元素之和.
24. 任何一个自然数m的立方均可写成m个连续奇数之和。例如:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
编程实现:输入一自然数n,求组成n^3的n个连续奇数。
25. 按如下图形打印杨辉三角形的前10行。其特点是两个腰上的数都为1,其它位置上的每一个数是它上一行相邻两个整数之和。
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 …… |
26. 有一个字符串p,包括n个字符。编写一个自定义函数strfun,将此字符串从第m个字符开始的全部字符复制成另一个新字符串 s。要求在主函数输入字符串及m值,并输出新字符串。
函数原型为:void strfun(char * p, int m, char *s)
函数原型为:void strfun(char * p, int m, char *s)
27. 求所以满足条件的四位数 abcd :
①这四位数是 11 的倍数;
② a,b , c,d 是小于 10 的互不相同的自然数;
③ b+c=a ;
④ bc 是完全平方数(例如 b=2 , c=5 ,则 bc=25 ,是完全平方数)。
①这四位数是 11 的倍数;
② a,b , c,d 是小于 10 的互不相同的自然数;
③ b+c=a ;
④ bc 是完全平方数(例如 b=2 , c=5 ,则 bc=25 ,是完全平方数)。
28. 若 A 为素数,而 A+2 也是素数,则称 A , A+2 位一对孪生素数。如: 3 、 5 位一对孪生素数。编程求出 100 以内的孪生素数及共有多少对?
29. 用循环方式求和,s=5+55+555+5555
30. 编写一函数fun,实现矩阵A(3行3列)的转置(即行列互换),生成转置矩阵B。
函数原型为: void fun(int a[3][3], int b[3][3])
函数原型为: void fun(int a[3][3], int b[3][3])
31.
求2-1000 中的守形数。 (提示:某数的平方其底位与该数本身相同,则称该数为守形数。例如: 25*25=625 , 625 的底位 25 相同,称 25 为守形数。)
求2-1000 中的守形数。 (提示:某数的平方其底位与该数本身相同,则称该数为守形数。例如: 25*25=625 , 625 的底位 25 相同,称 25 为守形数。)
32. 寻平方数对
编程实现所有小于 200 且满足下述条件的数对( X , Y ): X+Y 和 X-Y 都是完全平方数。例如:当 X=10 , Y=6 时,有 10+6=16=4^2 10-6 =4=2^2
编程实现所有小于 200 且满足下述条件的数对( X , Y ): X+Y 和 X-Y 都是完全平方数。例如:当 X=10 , Y=6 时,有 10+6=16=4^2 10-6 =4=2^2
33. 随机生成10个互不相同的在1-100之间的整数并放在一个一维数组中,且输出该数组各个元素;然后出最大的元素值,并从数组中删除该值。(提示:产生一个1~100的正整数的表达式是:1+(rand()+90)%(100-1+1)), rand()函数在库函数math.h中)
34. 自定义函数scat实现两个字符串的连接(不能使用strcat库函数)。
函数原型为:void fun (char *s,chat *t)
函数原型为:void fun (char *s,chat *t)
35. 求数列:2/1,3/2,5/3,8/5….前10列之和。
36. 打印输出如下图的杨辉三角。
字符串函数编程题 1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
37. 随机产生10个20--90(包括20,90)的正整数,求最大值、最小值、平均值,并显示整个数组的值和结果。(提示:产生一个20~99的正整数的表达式是: 30+(rand()+90)%(99-30+1)), rand()函数在库函数math.h中)
38. 编一个程序,将一串字符(从键盘上随机输入一字符串)倒序存放后输出 。例如原数组a的内容为“C PROGRAM”,倒序后的数组a中的内容为“MARGORP C”。
39. 输出9*9口诀。
40. 编写一个程序,输入两个包含5个元素的数组a和b,先将两个数组升序排列,然后将这两个数组合并成一个升序数组c。
41. 输入一个小于10的正整数n,显示具有n行的杨辉三角形。
42. 利用随机数生成两个4×4的和B矩阵(A矩阵数据在10—50范围、B矩阵数据在51—120范围)。
要求:求A矩阵两条对角线元素之和将两个矩阵相加,结果放入C矩阵中并输出
(提示:产生一个10~50的正整数的表达式是:10+(rand()+90)%(50-10+1)), rand()函数在库函数math.h中)
要求:求A矩阵两条对角线元素之和将两个矩阵相加,结果放入C矩阵中并输出
(提示:产生一个10~50的正整数的表达式是:10+(rand()+90)%(50-10+1)), rand()函数在库函数math.h中)
43. 编写一判断m是否是素数的函数,在主函数中输出十对最小的孪生素数。所谓孪生素数是指两个相差为2的素数,如3和5,11和13。 函数原型为:
int isprime(int m);
int isprime(int m);
44. 编一函数,功能为判断一字符串是否为回文(回文是指顺读和到读都是一样的字符串,如“deed”和“level”是回文)。在主函数中对输入的5个字符串统计其中回文的个数。
函数形式为: int huiwen(char s[]);
函数形式为: int huiwen(char s[]);
45. 已知四位数 3025 有一个特殊的性质:它的前两位数字 30 和后两位数字 25 的和是 55 ,而 55 的平方刚好等于该数( 552=3025 )。试编程输出具有这种性质的所有四位数。
46. 自定义函数fun,实现矩阵A(3×4)和矩阵B(4×5))相乘,生成矩阵C(3×5)。要求在主函数中实现矩阵的赋值和结果矩阵的输出。
函数原型为: void fun(int a[][4], int b[][5], int c[][5])
函数原型为: void fun(int a[][4], int b[][5], int c[][5])
47. 编写一个程序,从键盘上接收一个字符串赋给一个字符数组,然后通过指针操作从第一个字母开始间隔地输出该串。 如输入Computer,则输出Cmue。
48. 有一个一维数组a[N],请编制一个函数fun,通过指针的方式对其某一段进行排序,如对数组a={3,2,20,3,4,5,6,7,8,5},如果需要从第a[3]开始,对其后面四个元素进行从高到低排序,数组a结果应为{3,2,20,6,5,4,3,7,8,5}。
函数原型为: void fun(int *p, int n)
函数原型为: void fun(int *p, int n)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论