程序设计综合实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十章程序设计综合实例
例1 从键盘上输入三个整数,输出最大数和最小数。#include<>
main()
{
int a,b,c,temp;
printf("请输入三个整数:\n");
scanf("%d%d%d",&a,&b,&c);
if(a
{ temp=a;a=b;b=temp;}
if(a { temp=a;a=c;c=temp;} if(b { temp=b;b=c;c=temp;} printf("最大数是%d\n",a); printf("最小数是%d\n",c); } 例2 编程输出所有的水仙花数。 #include<> main() { int a,b,c,i; for(i=100;i<=999;i++) { a=i/100; b=i%100/10; c=i%10; if(a*a*a+b*b*b+c*c*c==i) printf("%d\n",i); } } 例3 编程输出斐波数列的第40项值。方法一(使用数组) #include<> main() { long a[40]; int i; a[0]=1; a[1]=1; for(i=2;i<=39;i++) a[i]=a[i-1]+a[i-2]; printf("%ld",a[39]); } 方法二(使用迭代) #include<> main() { long a,b,c; int n; a=1; b=1; n=2; while(n<40) { c=a+b; a=b; b=c; n=n+1; } printf("%ld",c); } 方法三(使用递归) #include<> long fun(int n) { if(n==1 || n==2) return 1; else return fun(n-1)+fun(n-2); } main() { printf("%ld",fun(40)); } 例4 从键盘上输入一个4行4列整数矩阵,输出左上至右下对角线元素之和。 #include<> #define M 4 #define N 4 main() { int a[M][N],i,j,sum=0; printf(“请输入16个整数:\n”); for(i=0;i<=M-1;i++) for(j=0;j<=N-1;j++) scanf("%d",&a[i][j]); for(i=0;i<=M-1;i++) sum=sum+a[i][i]; printf("%d",sum); } 例5 从键盘上输入一个4行4列整数矩阵,输出右上至左下对角线元素之和。 #define M 4 #define N 4 main() { int a[M][N],i,j,sum=0; printf(“请输入16个整数:\n”); for(i=0;i<=M-1;i++) for(j=0;j<=N-1;j++) scanf("%d",&a[i][j]); for(i=0;i<=M-1;i++) for(j=0;j<=N-1;j++) if(i+j==M-1) sum=sum+a[i][j]; printf("%d",sum); } 例6 从键盘上输入一个4行4列整数矩阵,输出最外围元素之和。 #define M 4 #define N 4 main() { int a[M][N],i,j,sum=0; printf(“请输入16个整数:\n”); for(i=0;i<=M-1;i++) for(j=0;j<=N-1;j++) scanf("%d",&a[i][j]); for(i=0;i<=M-1;i++) for(j=0;j<=N-1;j++) if(i==0 || i==M-1 || j==0 || j==N-1) sum=sum+a[i][j]; printf("%d",sum); } 例7 从键盘上输入一个4行4列整数矩阵,输出下半三角元素之和。 #define M 4 #define N 4 main() { int a[M][N],i,j,sum=0; printf(“请输入16个整数:\n”); for(i=0;i<=M-1;i++) for(j=0;j<=N-1;j++) scanf("%d",&a[i][j]); for(i=0;i<=M-1;i++) for(j=0;j<=N-1;j++) if(i>=j) sum=sum+a[i][j]; printf("%d",sum); } 例8 从键盘上输入5个学生3门课程的成绩。输出每个学生的平均分和每门课程的平均分。