《最新C语言编程题精选及答案.doc》由会员分享,可在线阅读,更多相关《最新C语言编程题精选及答案.doc(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料C语言编程题精选及答案.C语言编程题精选C语言学习 2010-11-30 15:48:25 阅读47 评论0 字号:大中小 订阅 1. 有函数F(x)=(x+1)2和G(x)=2x+1,输入X值计算F(G(x)的值。2. 任意输入三个字符,要求首先按逆序输出,然后同行原序输出。3. 在屏幕上输出如下图案(考虑能否将输出的行数由输入的值来控制):*4. 在屏幕上输出如下图案(考虑将输出的行数由输入的值来控制):*5. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*6. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*7. 编程输出如下格式图形(考虑将输出的行数由
2、输入的值来控制):*8. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*9. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*10. 编程输出如下格式图形(考虑将输出的行数由输入的值来控制):*11. 编写打印如下图形的程序(考虑将输出的行数由输入的值来控制): * * * * * * * * * * * * * * * * * * * *12. 编制程序打印如下图形(考虑将输出的行数由输入的值来控制):ABBBCCCCCDDDDDDDEEEEEEEEEFFFFFFFFFFFGGGGGGGGGGGGG13. 编程打印图形(考虑将输出的行数由输入的值来控制):11 2
3、11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 114. 编程打印图形(考虑将输出的行数由输入的值来控制):11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 115. 编程打印图形(考虑将输出的行数由输入的值来控制):1 2 3 4 5 6 5 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 1116. 编程打印图形(考虑将输出的行数由输入的值来控制):11 11 2 11 3 3 11 4
4、6 4 11 5 10 10 1 117. 编程打印图形(考虑将输出的行数由输入的值来控制):11 11 2 11 3 3 11 4 6 4 11 5 10 10 1 118. 输入一个大写字母打印菱形。菱形中间一行由该字母组成,相邻的各行由前面的字母依次组成,直到字母A出现在第一行和最末行为止。例如输入字母D,输出图形如下:ABBBCCCCCDDDDDDDCCCCCBBBA19. 打印如下图形。输出行数由键盘输入。 * * * * * * * * *20. 输出矩阵A及其转置矩阵: 1 2 3 4 A = 2 3 4 1 3 4 1 221. 依次输入十个整数,找出其平方最大的一个数并打印出
5、来。22. 输入 n,求下列级数前n项的和。 112233423. 编写程序用于判断一个数是否是素数。24. 编程序输出1-1000内的所有素数。所谓素数是指除了能被1和它本身之外不能被其它数整除的数。25. 输入个数,先按原来顺序输出,再将数组中元素逆置后输出,即将第个数跟第个互换、第个数跟第个互换.。26. 从键盘上输入 10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第6个元素互换,第2个元素与第7个元素互换第5个元素与第10个元素互换。分别输出数组原来各元素的值和对换后各元素的值。27. 从键盘输入一组数,先按原来顺序输出,再将其中最大的一个找出来
6、与第一个元素交换(即将最大的一个放到最前面)后将所有数重新输出。28. 输入一组数,先按原来顺序输出,再找其中最大及最小元素,分别与第一个及最后一个交换后再将这一组数重新输出一遍。注意从一组数中找出最大或者最小数的方法。29. 用冒泡或选择法将一组数按从大到小的降序排序后输出。30. 输入一行文字(英文),统计其中的单词个数。31. 编程计算 的近似值。求近似值公式如下:32. 用递归的方法求n!。可以用以下数学关系表示:33. 编写程序,要求用随机函数产生n个数(n由键盘输入的值决定),并用选择法排序,输出排序前后的结果,要求每行打印10个数。34. 求出10至1000之内能同时被2、3、7
7、整除的数,并输出。35. 求出1到100之间的奇数之和及偶数之和,并将二者输出。36. 编一程序用以输出所有各位数码阶乘之和等于其自身的三位数。 如:145(145=1!+4!+5!)。37. 假设字符数组存放有三行字符,每行的长度最长为80个字符,编程:分别统计出其中大写字母、小写字母、数字字符、空格字符以及其它字符的个数。38. 编写程序,读一个在字母C和X之间的字符,打印出该字母在中间的相邻五个字母。如输入F,则输出DEFGH。39. 编程输入一个小写字母,以该字母为第一个字母按字母表逆序输出字母表中所有小写字母。(例:输入 m ,则输出:mlkjihgfedcbazyxwvutsrqp
8、on)40. 在1500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数。41. 编程将1.100间能被2、3、5分别整除的数的和求出来并输出。注意,在判断时要按照2、3、5的先后次序来确定优先顺序,如6既能被2整除,又能被3整除,则只算到能被2整除的这种情况里。42. 编程将1.100间能被2、3、5整除的数的和求出来并输出。注意,在判断时如果一个数能同时被多个数整除,则要算到多种情况里去。如6既能被2整除,又能被3整除,则要同时算到能被2整除的和能被3整除这两种情况里。43. 编写程序输入三位数(100999),然后按数字逆序输出。(例:输入123,输出321)。44. 编写
9、程序打印所有的“水仙花数”。“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为 153111333555。45. 将一个二维数组a23=1,2,3,4,5,6转置,存到数组b中并输出b。46. 编写程序求1-1/3+1/5-1/7+1/9.的值,直到最后一项的绝对值小于106为止。47. 输入x值,根据下式计算 ,直到最后一项的绝对值小于10-6时为止。48. 编程计算下面公式:49. 编一子程序实现十进制数转换为其它进制数。主程序将十进制数43 和17分别转换为二进制数和八进制数。50. 编一个程序计算一元二次方程的根。51. 编程输入一个整数,若为四
10、位正整数则要求正确分离出其个、十、百、千位及中间的两位数并分别输出,如输入的是1234,则输出应该为4、3、2、1、23;否则给出一个出错提示。52. 任意输入三个数,按从大到小的降序输出。53. 编程计算123.+1000054. 编程计算1-2+3-4+5-6+-1000055. 编程计算2+4+6+.+100的结果56. 编和计算13599的和57. 编程计算149162510000之和58. 编程计算下式的值,其中的n在程序运行时由用户通过键盘输入:59. 根据数学方面的知识,圆周率的计算可按下式进行,试编程序计算机圆周率,并试着将n取不同的值(至少在100以上),看计算出的圆周率结果
11、有何不同。60. 输入两个正整数m和n,求其最大公约数和最小公倍数。(利用辗转相除法)61. 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?62. 计算0.0之间各数的正弦及余弦值,各值之间以0.01为间距。63. 利用C语言自带的随机函数(rand)产生一组随机数(不要超过10000),先将它们按原序输出,再找出最大一个数的位置(即下标)并输出。64. 利用C语言自带的随机函数(rand)产生一组随机数(不要超过10000),先将它们按原序输出,再找出最大及最小两个数的位置(即下标)并输出。65. 按如下公式计算表达式
12、的值(用递归实现):66. 编一程序,从键盘输入若干个数,降序排序后存入文件jieguo.txt中去,同时将结果在屏幕上显示。67. 百鸡问题:用100元买100只鸡,大公鸡5元1只,母鸡3元1只,小鸡1元3只。问各能买多少只?68. 今年父亲30岁,儿子6岁,问多少年后父亲的年龄是儿子年龄的2倍?69. 一个四位数,当它逆向排列时得到的4位数是它自身的整数倍,请找出所有符合这一条件的四位数。70. 某处发生一起案件,侦察得知如下可靠线索:ABCD四人都有作案可能AB中至少一人参与作案BC中至少一人参与作案CD中至少一人参与作案AC中至少一人未参与作案请分析谁最有可能是案犯。71. 找赛手:2
13、个羽毛球队比赛,各出3人,每个人只比一次。甲队为A,B,C三人,乙队为X,Y,Z三人。有人打听比赛名单,A说他不和 X比,C说不和,比。请编程找出三队赛手的名单。72. 求以下不定方程组的所有正整数解(提示:可以考虑让计算机在一定范围内穷举):73. 编程从键盘输入20个数,要求输出其中最大的前5个。74. 编程序输出11000以内的完全平方数并统计个数。所谓完全平方数是指其算术平方根为一整数,如4、9、100等。75. 我国古代有一种回文诗,倒念顺念都有意思,例如“人过大佛寺”,倒读起来便是“寺佛大过人”。还有经典的对联“客上天然居,居然天上客”。此种例子举不胜举。在自然数中也有类似情形,比
14、如1991就是一个很特殊的四位数,从左向右读与从右向左读竟是完全一样的,这样的数称为“回文数”。编程序输出1到10000内的所有回文数并统计个数。76. 某班综合考评,根据参加集体活动的次数加分,规则如下:参加1次及以下:加1分;参加2至3次:加2分;参加4至7次:参加几次加几分;参加8至10次:加8分;参加10次以上:加10分。程序运行时输入某人参加活动的次数,则输出其应该加的分数;如果输入为负值,则给出相应提示。C语言编程题精选(答案1-45)C语言学习 2010-11-30 15:49:22 阅读27 评论0 字号:大中小 订阅 1、#include #include void main
15、()float x,y;printf(Please input x:);scanf(%f,&x);y=2*x+1;y=(float)pow(y+1,2);printf(The result is:%fn,y);2、#include void main()char a,b,c;printf(Please input 3 characters:);scanf(%c%c%c,&a,&b,&c);printf(%c%c%c,c,b,a);printf(%c%c%c,a,b,c);printf(n);3、#include void main()int n,r,c;printf(请输入行数:);scanf
16、(%d,&n);if(n0)printf(行数错误!n);elsefor(r=1;r=n;r+)for(c=1;c=6;c+)printf(*);printf(n);4、#include void main()int n,r,c;printf(请输入行数:);scanf(%d,&n);if(n0)printf(行数错误!n);elsefor(r=1;r=n;r+)for(c=1;c=r;c+)printf(*);printf(n);5、#include void main()int n,r,c;printf(请输入行数:);scanf(%d,&n);if(n0)printf(行数错误!n);e
17、lsefor(r=1;r=n;r+)for(c=1;c=2*r-1;c+)printf(*);printf(n);6、#include void main()int n,r,c;printf(请输入行数:);scanf(%d,&n);if(n0)printf(行数错误!n);elsefor(r=1;r=n;r+)for(c=1;c=n+1-r;c+)printf(*);printf(n);7、#include void main()int n,r,c;printf(请输入行数:);scanf(%d,&n);if(n0)printf(行数错误!n);elsefor(r=1;r=n;r+)for(
18、c=1;c=2*n+1-2*r;c+)printf(*);printf(n);8、#include void main()int n,r,c;printf(请输入行数(必须为单数):);scanf(%d,&n);if(n0) | (n%2=0)printf(行数错误!n);elsefor(r=1;r=(n+1)/2;r+)for(c=1;c=2*r-1;c+)printf(*);printf(n);for(r=1;r=(n-1)/2;r+)for(c=1;c=n-2*r;c+)printf(*);printf(n);9、#include void main()int n,r,c;printf(
19、请输入行数:);scanf(%d,&n);if(n0)printf(行数错误!n);elsefor(r=1;r=(n+1)/2;r+)for(c=1;c=n-r;c+)printf( );for(c=1;c=2*r-1;c+)printf(*);printf(n);10、#include void main()int n,r,c;printf(请输入行数(必须为单数):);scanf(%d,&n);if(n0) | (n%2=0)printf(行数错误!n);elsefor(r=1;r=(n+1)/2;r+)for(c=1;c=n-r;c+)printf( );for(c=1;c=2*r-1;
20、c+)printf(*);printf(n);for(r=1;r=(n-1)/2;r+)for(c=1;c=n/2+r;c+)printf( );for(c=1;c=n-2*r;c+)printf(*);printf(n);11、#include void main()int n,r,c;printf(请输入行数:);scanf(%d,&n);if(n0)printf(行数错误!n);elsefor(r=1;r=n;r+)for(c=1;c=r;c+)printf( );for(c=1;c=6;c+)printf(*);printf(n);12、#include void main()int
21、n,r,c;char ch=A;printf(请输入行数:);scanf(%d,&n);if(n0)printf(行数错误!n);elsefor(r=1;r=n;r+)for(c=1;c=2*r-1;c+)printf(%c,ch);printf(n);ch+;13、#include #define N 50void main()int n,r,c;printf(请输入行数:);scanf(%d,&n);if(n0)printf(行数错误!n);elsefor(r=1;r=n;r+)for(c=1;c=r;c+)printf(%4d,c);for(c=r+1;c=2*r-1;c+)printf
22、(%4d,2*r-c);printf(n);14、#include #define N 50void main()int n,r,c;printf(请输入行数:);scanf(%d,&n);if(n0)printf(行数错误!n);elsefor(r=1;r=n;r+)for(c=1;c=n-r;c+)printf( );for(c=1;c=r;c+)printf(%4d,c);for(c=r+1;c=2*r-1;c+)printf(%4d,2*r-c);printf(n);15、#include #define N 50void main()int n,r,c;printf(请输入行数:);
23、scanf(%d,&n);if(n=1;r-)for(c=1;c=n-r;c+)printf( );for(c=1;c=r;c+)printf(%4d,c);for(c=r+1;c=2*r-1;c+)printf(%4d,2*r-c);printf(n);16、#include #define N 50void main()int n,r,c,aN+1N+1;printf(请输入行数:);scanf(%d,&n);if(n0)printf(行数错误!n);elsefor(r=1;r=n;r+)ar1=arr=1;for(r=2;r=n;r+)for(c=2;c=r-1;c+)arc=ar-1c
24、-1+ar-1c;for(r=1;r=n;r+)for(c=1;c=r;c+)printf(%4d,arc);printf(n);17、#include #define N 50void main()int n,r,c,aN+1N+1;printf(请输入行数:);scanf(%d,&n);if(n0)printf(行数错误!n);elsefor(r=1;r=n;r+)ar1=arr=1;for(r=2;r=n;r+)for(c=2;c=r-1;c+)arc=ar-1c-1+ar-1c;for(r=1;r=n;r+)for(c=1;c=n-r;c+)printf( );for(c=1;c=r;
25、c+)printf(%4d,arc);printf(n);18、#include void main()int n,r,c;char ch=A;printf(请输入行数(必须为单数):);scanf(%d,&n);if(n0) | (n%2=0)printf(行数错误!n);elsefor(r=1;r=(n+1)/2;r+)for(c=1;c=n-r;c+)printf( );for(c=1;c=2*r-1;c+)printf(%c,ch);printf(n);ch+;ch=ch-2;for(r=1;r=(n-1)/2;r+)for(c=1;c=n/2+r;c+)printf( );for(c
26、=1;c=n-2*r;c+)printf(%c,ch);printf(n);ch-;19、#include void main()int n,r,c;printf(请输入行数:);scanf(%d,&n);if(n0)printf(行数错误!n);elsefor(r=1;r=(n+1)/2;r+)for(c=1;c=n-r;c+)printf( );for(c=1;c=2*r-1;c+)printf(*);for(c=1;c=n+1-2*r;c+)printf( );for(c=1;c=2*r-1;c+)printf(*);printf(n);20、#include #define N 4vo
27、id main()int r,c,aN+1N+1;for(c=1;c=N;c+)a1c=c;for(r=2;r=N-1;r+)for(c=1;c=N;c+)arc=ar-1c+1;arN=ar-11;printf(原矩阵:n);for(r=1;r=N-1;r+)for(c=1;c=N;c+)printf(%4d,arc);printf(n);printf(转置矩阵:n);for(r=1;r=N;r+)for(c=1;c=N-1;c+)printf(%4d,acr);printf(n);21、#include void main()int i;double x,oldx,sx=0;printf(
28、n请输入10个数:);for(i=1;isx)oldx=x;sx=x*x;printf(平方最大的一个数是:%fn,oldx);22、#include void main()int i,n,signal=1;double s=1;printf(n请输入项数:);scanf(%d,&n);if(n1)printf(至少要算一项!n);elsefor(i=2;i=n;i+)s=s+(i-1.0)/i*signal;signal=-signal;printf(结果为:%fn,s);23、#include void main()int i,n,signal=1;printf(n请输入一个正整数:);s
29、canf(%d,&n);if(n1)printf(输入错误!n);elsefor(i=2;in & signal=1;i+)if(n%i=0)signal=0;if(signal=1)printf(%d是素数!n,n);elseprintf(%d不是素数!n,n);24、#include void main()int i,j,signal,count=0;for(j=1;j=1000;j+)signal=1;for(i=2;ij & signal=1;i+)if(j%i=0)signal=0;if(signal=1)printf(%8d,j);count+;printf(n共有%d个!n,co
30、unt);25、#include #define N 20void main()int i,aN+1;printf(请输入%d个数:n,N);for(i=1;i=N;i+)scanf(%d,&ai);printf(n按原序输出:n);for(i=1;i=N;i+)printf(%4d,ai);for(i=1;i=N/2;i+)a0=ai;ai=aN-i+1;aN-i+1=a0;printf(n按逆序输出:n);for(i=1;i=N;i+)printf(%4d,ai);printf(n);26、#include #define N 10void main()int i,aN+1;printf(
31、请输入%d个数:n,N);for(i=1;i=N;i+)scanf(%d,&ai);printf(n按原序输出:n);for(i=1;i=N;i+)printf(%4d,ai);for(i=1;i=N/2;i+)a0=ai;ai=aN/2+i;aN/2+i=a0;printf(n按新序输出:n);for(i=1;i=N;i+)printf(%4d,ai);printf(n);27、/冒泡法#include #define N 6void main()int i,aN+1;printf(请输入%d个数:n,N);for(i=1;i=N;i+)scanf(%d,&ai);printf(n按原序输出
32、:n);for(i=1;i=2;i-)if(aiai-1)a0=ai;ai=ai-1;ai-1=a0;printf(n按新序输出(最前面的是最大的一个数):n);for(i=1;i=N;i+)printf(%4d,ai);printf(n);/选择法#include #define N 6void main()int i,t,aN+1;printf(请输入%d个数:n,N);for(i=1;i=N;i+)scanf(%d,&ai);printf(n按原序输出:n);for(i=1;i=N;i+)printf(%4d,ai);t=1;for(i=2;iat)t=i;a0=a1;a1=at;at=
33、a0;printf(n按新序输出(最前面的是最大的一个数):n);for(i=1;i=N;i+)printf(%4d,ai);printf(n);28、#include #define N 6void main()int i,aN+1;printf(请输入%d个数:n,N);for(i=1;i=N;i+)scanf(%d,&ai);printf(n按原序输出:n);for(i=1;i=2;i-)if(aiai-1)a0=ai;ai=ai-1;ai-1=a0;for(i=1;iN;i+)if(aiai+1)a0=ai;ai=ai+1;ai+1=a0;printf(n按新序输出(最前面的是最大的一个数,最后面的是最小的一个数):n);for(i=1;i=N;i+)printf(%4d,ai);printf(n);29、/冒泡法#include #define N 6void main()int i,j,aN+1;printf(请输入%d个数:n,N);for(i=1;i=N;i+)scanf(%d,&ai);printf(n按原序输出:n);for(i=1;i=N;i+)pr
限制150内