c语言程序设计理论试题库(编辑修改稿)内容摘要:

成了累乘。 : main() { float n,s=0,t=1。 for(n=1。 n=20。 n++) { ______。 ______。 } printf(1+2!+3!...+20!=%e\n,s)。 } ============================================================== 【 程序 26】 题目:利用递归方法求 5!。 :递归公式: fn=fn_1*4! : include main() { int i。 int fact()。 for(i=0。 i5。 i++) printf(\40:%d!=%d\n,i,_____)。 } int fact(j) int j。 { int sum。 if(j==0) sum=1。 else sum=j*_____。 return sum。 } ============================================================== 【程序 27】 题目:利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。 : : include main() { int i=5。 《 C语言程序设计》理论试题库 15 void palin(int n)。 printf(\40:)。 palin(_____)。 printf(\n)。 } void palin(n) int n。 { char next。 if(n=1) { next=getchar()。 printf(\n\0:)。 putchar(next)。 } else { next=getchar()。 palin(____)。 putchar(next)。 } } ============================================================== 【程序 28】 题目:有 5个人坐在一起,问第五个人多少岁。 他说比第 4 个人大 2 岁。 问第 4个人岁数,他说比第 3 个人大 2 岁。 问第三个人,又说比第 2 人大两岁。 问第 2 个人,说比第一个人大 两岁。 最后问第一个人,他说是 10 岁。 请问第五个人多大。 :利用递归的方法,递归分为回推和递推两个阶段。 要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人( 10 岁),再往回推。 : age(n) int n。 { int c。 if(n==1) c=10。 else c=age(_____)+2。 return(c)。 } main() { printf(%d,age(5))。 } ============================================================== 【程序 29】 题目:给一个不多于 5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 《 C语言程序设计》理论试题库 16 1. 程序分析:学会分解出每一位数,如下解释: (这里是一种简单的算法,师专数 002 班赵鑫提供 ) : main( ) { long a,b,c,d,e,x。 scanf(%ld,amp。 x)。 a=x/10000。 /*分解出万位 */ b=________。 /*分解出千位 */ c=x%1000/100。 /*分解出百位 */ d=_________。 /*分解出十位 */ e=x%10。 /*分解出个位 */ if (a!=0) printf(there are 5, %ld %ld %ld %ld %ld\n,e,d,c,b,a)。 else if (b!=0) printf(there are 4, %ld %ld %ld %ld\n,e,d,c,b)。 else if (c!=0) printf( there are 3,%ld %ld %ld\n,e,d,c)。 else if (d!=0) printf(there are 2, %ld %ld\n,e,d)。 else if (e!=0) printf( there are 1,%ld\n,e)。 } ============================================================== 【程序 30】 题目:一个 5 位数,判断它是不是回文数。 即 12321 是回文数,个位与万位相同,十位与千位相同。 :同 29 例 : main( ) { long ge,shi,qian,wan,x。 scanf(%ld,amp。 x)。 wan=x/10000。 qian=___________。 shi=___________。 ge=x%10。 if (ge==wanamp。 amp。 shi==qian)/*个位等于万位并且十位等于千位 */ printf(this number is a huiwen\n)。 else printf(this number is not a huiwen\n)。 } 【程序 31】 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。 :用 情况语句比较好,如果第一个字母一样,则判断用情况语句或 if语句判断第二个字母。 : include 《 C语言程序设计》理论试题库 17 void main() { char letter。 printf(please input the first letter of someday\n)。 while ((letter=______!=39。 Y39。 )/*当所按字母为 Y 时才结束 */ { switch (letter) {case 39。 S39。 :printf(please input second letter\n)。 if((letter=getch())==39。 a39。 ) printf(saturday\n)。 else if (__________) printf(sunday\n)。 else printf(data error\n)。 break。 case 39。 F39。 :printf(friday\n)。 break。 case 39。 M39。 :printf(monday\n)。 ______ case 39。 T39。 :printf(please input second letter\n)。 if((letter=getch())==39。 u39。 ) printf(tuesday\n)。 else if (________) printf(thursday\n)。 else printf(data error\n)。 break。 case 39。 W39。 :printf(wednesday\n)。 break。 default: printf(data error\n)。 } } ) ============================================================== 【程序 32】 题目: Press any key to change color, do you want to try it. Please hurry up! : : include void main(void) { int color。 for (color = 0。 color 8。 color++) { ______________。 /*设置文本的背景颜色 */ cprintf(This is color %d\r\n, color)。 cprintf(Press any key to continue\r\n)。 getch()。 /*输入字符看不见 */ } } 《 C语言程序设计》理论试题库 18 ============================================================== 【程序 33】 题目:学习 gotoxy()与 clrscr()函数 : : include void main(void) { clrscr()。 /*清屏函数 */ textbackground(2)。 ________。 /*定位函数 */ cprintf(Output at row 5 column 1\n)。 textbackground(3)。 gotoxy(20, 10)。 cprintf(Output at row 10 column 20\n)。 } ============================================================== 【程序 34】 题目:练习函数调用 1. 程序分析: : include void hello_world(void) { printf(Hello, world!\n)。 } void three_hellos(void) { int counter。 for (counter = 1。 counter = 3。 counter++) hello_world()。 /*调用此函数 */ } void main(void) { __________。 /*调用此函数 */ } ============================================================== 【程序 35】 题目:文本颜色设置 : : include void main(void) { 《 C语言程序设计》理论试题库 19 int color。 for (color = 1。 color 16。 color++) { _________。 /*设置文本颜色 */ cprintf(This is color %d\r\n, color)。 } ______________。 cprintf(This is blinking\r\n)。 } ============================================================== 【程序 36】 题目:求 100 之内的素数 : : include include define N 101 main() { int i,j,line,a[N]。 for(i=2。 iN。 i++) a[i]=i。 for(i=2。 isqrt(N)。 i++) for(j=i+1。 jN。 j++) { if(a[i]!=0_____a[j]!=0) if(a[j]%____==0) a[j]=0。 } printf(\n)。 for(i=2,line=0。 iN。 i++) { if(a[i]!=0) {printf(%5d,a[i])。 ______。 } if(line==10) {printf(\n)。 line=0。 } } } ============================================================== 【程序 37】 题目:对 10 个数进行排序 :可以利用选择法,即从后 9 个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后 8 个进行比较,并进行交换。 : 《 C语言程序设计》理论试题库 20 define N 10 main() {int i,j,min,tem,a[N]。 /*input data*/ printf(please input ten num:\n)。 for(i=0。 iN。 i++) { printf(a[%d]=,i)。 scanf(%d,amp。 a[i])。 } printf(\n)。 for(i=0。 iN。 i++) printf(%5d,a[i])。 printf(\n)。 /*sort ten num*/ for(i=0。 iN1。 i++) {min=i。 for(j=i+1。 jN。 j++) if(a[min]a[j]) min=j。 tem=a[i]。 a[i]=________。 ________=tem。 } /*output data*/ printf(After sorted \n)。 for(i。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。