程序设计综合实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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门课程的成绩。输出每个学生的平均分和每门课程的平均分。

相关文档
最新文档