[工学]C语言典型例题

上传人:豆浆 文档编号:55336752 上传时间:2018-09-27 格式:PPT 页数:43 大小:350.50KB
返回 下载 相关 举报
[工学]C语言典型例题_第1页
第1页 / 共43页
[工学]C语言典型例题_第2页
第2页 / 共43页
[工学]C语言典型例题_第3页
第3页 / 共43页
[工学]C语言典型例题_第4页
第4页 / 共43页
[工学]C语言典型例题_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《[工学]C语言典型例题》由会员分享,可在线阅读,更多相关《[工学]C语言典型例题(43页珍藏版)》请在金锄头文库上搜索。

1、典 型 例 题,例1:求 main( ) int i, sum;for (sum=0, i=1; i=100; i+) sum=sum+i;printf(“1+2+3+100=%dn“,sum);1+2+3+100=5050,例2:计算15的阶乘main( ) int i, fact;for(fact=1, i=1; i=5; i+) fact=fact*i;printf(“t%d!=%dn“, i, fact); 1!=1 (每次循环都进行输出))2!=23!=64!=245!=120,例3: 计算某班32位学生某门课的平均成绩,并输出最高分、最低分。main( ) int i, score

2、, max=0, min=100;float sum=0;for(i=1;imax) max=score;if(scoremin) min=score; printf(“average=%-8.2fn“, sum/32);printf(“max=%d,min=%dn“, max, min);,例4:按下列形式打印乘法九九表i:1 1*1=12 2*1=2 2*2=43 3*1=3 3*2=6 3*3=94 4*1=4 4*2=8 4*3=12 4*4=16 9 9*1=9 9*2=18 9*3=27 9*9=81j 1 2 3 9 被乘数i取值19;i每取一值,乘数j取值1i,main( )

3、int i, j, k;for(i=1; i=9; i+) for(j=1; j=i; j+) k=i*j; printf(“%d*%d=%-4d“, i, j, k);printf(“n”); getch( ); /*加getch();每行暂停*/,例5:输入5个最多8位的正整数,将各数按位颠倒输出。main( ) int i; long n, d;for(i=1; i100main( ) int r; float area;for(r=1; r100) break;printf(“r=%d,area=%-7.2fn”, r, area);,例7:把100200之间不能被3整除的数输出;并控

4、制一行输出10个数据。main( ) int n, c=0;printf(“n”);for(n=100; nn?,例9:判断m是否素数 素数:除1和它本身之外再无别的约数; 算法:判断m%i=0成立否?i取值: 2(m-1) 或:2,#include “math.h“main( ) int m, i, k;printf(“tEnter m: “); scanf(“%d“, ,例10:求100 200之间的全部素数,并控制换行。 算法:外循环控制m取100 200之间的奇数。,#include “math.h“ main( ) int m, i, k, c=0; printf(“n“);for(

5、m=101; mk) /*ik成立表示未出现约数*/ printf(“%-6d“, m);c+;if(c%10=0)printf(“n“); ,例11:用 公式求的近似值,直到最后一项的绝对值小于 10-4 为止。 考虑问题: 1) 需循环累加,但累加项数不确定; 2) 有规律的量分母n的取值:1、3、5、7 奇偶项符号s的变化:+、-、+、- 3) 循环条件:fabs(t)=10-4循环,t为某项值。,#include “math.h“ main( ) int s;float n, t, pi;n=1.0; s=1; t=1./n; pi=0;while(fabs(t)=1e-4) /*判断

6、某项*/ pi=pi+t; /*累加和*/n=n+2.0; /*改变分母*/s=-s; /*符号变反*/t=s/n; /*计算下一项*/printf(“PI=%10.6fn“, pi*4);getch( );,例12:求Fibonacci数列的前40个数,并按一行4个数排列输出。1,1,2,3,5,8,13,21 考虑问题: 1) 属递推问题:从前一项或几项推出下一项结果; 2) 定义两个变量 :f1=f2=1; f1=f1+f2; f2=f2+f1;由前两项相加求得下一项后第一项可覆盖,即变量的值是不断更迭的(迭代法)。,main( ) long f1, f2, i;f1=f2=1;for(

7、i=1; i0; j-) printf(”*”);printf(”n”);for(i=1; i0; j-) printf(” ”);for(j=7-i*2; j0; j-) printf(”*”);printf(”n”);,例15: 输入一行英文文本(最长80),分别统计文本中字母、数字、空格字符个数及所有字符个数。 #include “stdio.h“ main( ) int i, l, n, s, all; char str80, t;l=n=s=all=0;gets(str);for(i=0; (t=stri)!=0; i+) /*t:提高效率*/ if(t=A,例16:将一维数组各元素

8、顺序输出、倒序输出、选 偶数项输出。int a100, i;for( i=0; i=0; i-)printf(”%d,”, ai);for(i=1; i=99; i=i+2)printf(”%5d”, ai);,例17:编写函数,用冒泡法对数组从小到大排序main() int x10, i;void sort( int a, int n )for(i=0; i 10; i+) scanf(“%d“,void swap( int *p1, int *p2 ) int t; t = *p1; *p1 = *p2; *p2 = t; void sort( int a, int n ) int i,

9、j;for(i=0; i aj+1) swap( ,例18:用选择法对一数列按降序排序(由大到小) #define N 5 main() int aN, i, j, p, t;for(i=0; iap) p=j; /*条件成立更新p*/if(p!=i) t=ai; ai=ap; ap=t; /*输出*/ ,例19:利用折半查找法实现一维数组的查找 #define N 10 main( ) int aN=2,3,5,6,12,15,23,46,50,100;int num, low, high, mid, mark=-1;printf(“Enter check number:“);scanf(“%d“, ,low=0; high=N-1;while(low=high) mid=(high+low)/2; /*计算中间位置*/if(num=amid) mark=1; break;else if(numamid) high=mid-1;else low=mid+1;if(mark=1)printf(“%d found in %dn“, num, mid+1);else printf(“Not be found!n“); ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号