您好,欢迎访问三七文档
题目:输入三个整数x,y,z,请把这三个数由小到大输出。1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,然后再用x与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小。2.程序源代码:#includestdio.hmain(){intx,y,z,t;scanf(%d%d%d,&x,&y,&z);if(xy){t=x;x=y;y=t;}/*交换x,y的值*/if(xz){t=z;z=x;x=t;}/*交换x,z的值*/if(yz){t=y;y=z;z=t;}/*交换z,y的值*/printf(smalltobig:%d%d%d\n,x,y,z);}题目:输出9*9口诀。1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。2.程序源代码:#includestdio.hmain(){inti,j,result;printf(\n);for(i=1;i10;i++){for(j=1;j10;j++){result=i*j;printf(%d*%d=%-3d,i,j,result);/*-3d表示左对齐,占3位*/}printf(\n);/*每一行后换行*/}}题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。1.程序分析:请抓住分子与分母的变化规律。2.程序源代码:#includestdio.hmain(){intn,t,number=20;floata=2,b=1,s=0;for(n=1;n=number;n++){s=s+a/b;t=a;a=a+b;b=t;/*这部分是程序的关键,请读者猜猜t的作用*/}printf(sumis%9.6f\n,s);}题目:求1+2!+3!+...+20!的和1.程序分析:此程序只是把累加变成了累乘。2.程序源代码:#includestdio.hmain(){floatn,s=0,t=1;for(n=1;n=20;n++){t*=n;s+=t;}printf(1+2!+3!...+20!=%e\n,s);}题目:利用递归方法求5!。1.程序分析:递归公式:fn=fn_1*4!2.程序源代码:#includestdio.hmain(){inti;intfact();for(i=0;i5;i++)printf(\40:%d!=%d\n,i,fact(i));}intfact(j)intj;{intsum;if(j==0)sum=1;elsesum=j*fact(j-1);returnsum;}题目.输入某学生的成绩,经处理后给出学生的等级,等级分类如下:90分以上(包括90):A80至90分(包括80):B70至80分(包括70):C60至70分(包括60):D60分以下:E(1)分析:这类题目用一般用多分支结构语句来实现,一种是用if语句,一种是用switch()语句,在多分支的情况下,用switch()语句实现,比用if语句实现更清晰明了。所以这里给出switch()的实现方法。(2)程序代码如下:#includestdio.hmain(){intg,s;charch;printf(\ninputastudentgrade:);scanf(%d,&g);s=g/10;if(s0||s10)printf(\ninputerror!);else{switch(s){case10:case9:ch='A';break;case8:ch='B';break;case7:ch='C';break;case6:ch='D';break;default:ch='E';}printf(\nthestudentscort:%c,ch);}}
本文标题:典型c程序实例
链接地址:https://www.777doc.com/doc-2629249 .html