c语言编程经典100例(编辑修改稿)内容摘要:
=20。 n++) { t*=n。 s+=t。 } printf(“ 1+2!+3!...+20!=%e\n“ ,s)。 } ============================================================== 【程序 26】 题目:利用递归方法求 5!。 :递归公式: fn=fn_1*4! : include “ “ main() { int i。 int fact()。 for(i=0。 i〈 5。 i++) printf(“ \40:%d!=%d\n“ ,i,fact(i))。 } int fact(j) int j。 { int sum。 if(j==0) sum=1。 else sum=j*fact(j1)。 return sum。 } ============================================================== 【程序 27】 题目:利用递归函数调用方式,将所输入的 5个字符 ,以相反顺序打印出来。 : : include “ “ main() { int i=5。 void palin(int n)。 printf(“ \40:“ )。 palin(i)。 printf(“ \n“ )。 } void palin(n) int n。 { char next。 if(n〈 =1) { next=getchar()。 printf(“ \n\0:“ )。 putchar(next)。 } else { next=getchar()。 palin(n1)。 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(n1)+2。 return(c)。 } main() { printf(“ %d“ ,age(5))。 } ============================================================== 【程序 29】 题目:给一个不多于 5位的正整数,要求:一、求它是几位数,二、逆序打印出 各位数字。 1. 程序分析:学会分解出每一位数,如下解释: (这里是一种简单的算法,师专数 002 班赵鑫提供 ) : main( ) { long a,b,c,d,e,x。 scanf(“ %ld“ ,amp。 x)。 a=x/10000。 /*分解出万位 */ b=x%10000/1000。 /*分解出千位 */ c=x%1000/100。 /*分解出百位 */ d=x%100/10。 /*分解出十位 */ 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=x%10000/1000。 shi=x%100/10。 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 〈 〉 void main() { char letter。 printf(“ please input the first letter of someday\n“ )。 while ((letter=getch())!=’ Y’ )/*当所按字母为 Y时才结束 */ { switch (letter) {case ’ S’ :printf(“ please input second letter\n“ )。 if((letter=getch())==’ a’ ) printf(“ saturday\n“ )。 else if ((letter=getch())==’ u’ ) printf(“ sunday\n“ )。 else printf(“ data error\n“ )。 break。 case ’ F’ :printf(“ friday\n“ )。 break。 case ’ M’ :printf(“ monday\n“ )。 break。 case ’ T’ :printf(“ please input second letter\n“ )。 if((letter=getch())==’ u’ ) printf(“ tuesday\n“ )。 else if ((letter=getch())==’ h’ ) printf(“ thursday\n“ )。 else printf(“ data error\n“ )。 break。 case ’ W’ :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++) { textbackground(color)。 /*设置文本的背景颜色 */ cprintf(“ This is color %d\r\n“ , color)。 cprintf(“ Press any key to continue\r\n“ )。 getch()。 /*输入字符看不见 */ } } ============================================================== 【程序 33】 题目:学习 gotoxy()与 clrscr()函数 : : include 〈 〉 void main(void) { clrscr()。 /*清屏函数 */ textbackground(2)。 gotoxy(1, 5)。 /*定位函数 */ 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) { three_hellos()。 /*调用此函数 */ } ============================================================== 【程序 35】 题目:文本颜色设置 : : include 〈 〉 void main(void) { int color。 for (color = 1。 color 〈 16。 color++) { textcolor(color)。 /*设置文本颜色 */ cprintf(“ This is color %d\r\n“ , color)。 } textcolor(128 + 15)。 cprintf(“ This is blinking\r\n“ )。 } ============================================================== 【程序 36】 题目:求 100之内的素数 : : include 〈 〉 include “ “ define N 101 main() { int i,j,line,a[N]。 for(i=2。 i〈 N。 i++) a=i。 for(i=2。 i〈 sqrt(N)。 i++) for(j=i+1。 j〈 N。 j++) { if(a!=0amp。 amp。 a[j]!=0) if(a[j]%a==0) a[j]=0。 } printf(“ \n“ )。 for(i=2,line=0。 i〈 N。 i++) { if(a!=0) {printf(“ %5d“ ,a)。 line++。 } if(line==10) {printf(“ \n“ )。 line=0。 } } } ============================================================== 【程序 37】 题目:对 10个数进行排序 :可以利用选择法,即从后 9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后 8个进行比较,并进行交换。 : define N 10 main() {int i,j,min,tem,a[N]。 /*input data*/ printf(“ please input ten num:\n“ )。 for(i=0。 i〈 N。 i++) { printf(“ a[%d]=“ ,i)。 scanf(“ %d“ ,amp。 a)。 } printf(“ \n“ )。 for(i=0。 i〈 N。 i++) printf(“ %5d“ ,a)。 printf(“ \n“ )。 /*sort ten num*/ for(i=0。 i〈 N1。 i++) {min=i。 for(j=i+1。 j〈 N。 j++) if(a[min]〉 a[j]) min=j。 tem=a。 a=a[min]。 a[min]=tem。 } /*output data*/ printf(“ After sorted \n“ )。 for(i=0。 i〈 N。 i++)。c语言编程经典100例(编辑修改稿)
相关推荐
(i=0。 i10。 i++) putchar(HORIZ)。 putchar(RIGHT_TOP)。 putchar(39。 \n39。 )。 /* draw the middle */ for (i=0。 i4。 i++) { putchar(VERT)。 for (j=0。 j10。 j++) putchar(39。 39。 )。 putchar(VERT)。 putchar(39。
内部故障造成的。 如气体继电器内有气体,则应记录气量,观察气体的颜色及试验是否可燃,并取气样及油样做色谱分析,可根据有关规程和导则判断变压器的故障性质。 若气体继电器内的气体为无色、无臭且不可燃,色谱分析判断为空气,则变压器可继续运行,并及时消除进气缺陷。 若气体是可燃的或油中溶解气体分析结果异常,应综合判断确定变压器是否停运。 瓦斯保护动作跳闸时,在查明原因消除故障前不得将变压器投入运行。
量船底的发射换能器垂直向水下发射一定频率的声波脉冲,以声速 C 在水中传播到水底后产生回波,回波被接收换能器所接收,发射声波与接收回波的时间 t,则换能器表面至水底的距离(水深)为 H=1/2 ct 测深仪在使用前,应进行动态、静态比对试验,有多套测深仪时应进行交叉比对,只有一套仪器时,可以用测深杆进行比对。 回声测深仪的安装,一般安装在测量船的中舷处,因为中舷处在航行中吃水线的变化最小。
a= b+(((c/d)/function— call())* 5) 这样,就能确保表达式被正确求值,而且编译程序不会为了优化代码而重新安排运算符的优先级了。 1. 13 ++var 和 var++有什么区别 ? “++” 运算符被称为自增运算符。 如果 “++” 运算符出现在变量的前面 (++var),那么在表达式使用变量之前,变量的值将增加 1。 如果 “++” 运算符出现在变量之后
六) 第 6 章 Inter 网络基础 2 课程设计学时 合 计 20学时 五、 考核方式 根据本课程的特点,应注意基础理论和操作能力并重。 考核方式为:平时成绩和单元作业占 20%,上机操作能力考核占 40%,期末理论考试占 40%。 六、 教材与参考教材 选用教材: 《计算机应用基础》 杨明广 主编 电子科技大学出版社 《计算机应用基础》 黄迪明 主编 电子科技大学出版社 99 年版
+ 子程序返回 2us + R7 赋 值 1us = 5us 延时总时间 = 三层循环 + 循环外 = 499995+5 = 500000us =500ms 计算公式 :延时时间 = [(2*R5+3)*R6+3]*R7+5 二 . 200ms 延时子程序 程序 : void delay200ms(void) { unsigned char i,j,k。 for(i=5。 i0。 i)