第十次作业
- 定义一个含有8个储存单元的实行数组,从键盘上接受数,然后逆序输出。
#include <stdio.h>
main()
{
int a[8],i;
for(i=8;i>0;i--){
a[i]=i-1;
}
for(i=8;i>0;i--){
printf("%d",a[i]);
}
}
2.使用一维数组,从键盘上接收6个数,找出最大的那个元素并记录下它的下标。
#include <stdio.h>
main()
{
double a[6],max;
int i,flag;
printf("请输入六个数:\n");
for(i=0;i<=5;i++)
scanf("%lf",&a[i]);
max=a[0];
flag=0;
for(i=1;i<=5;i++)
if(a[i]>max)
{
max=a[i];
flag=i;
}
printf("最大数值为%f的下标为%d\n",max,flag);
}
3.求Fibonacci数列的前十项和。
#include <stdio.h>
main()
{
/*double a[6],max;
int i,flag;
printf("请输入六个数:\n");
for(i=0;i<=5;i++)
scanf("%lf",&a[i]);
max=a[0];
flag=0;
for(i=1;i<=5;i++)
if(a[i]>max)
{
max=a[i];
flag=i;
}
printf("最大数值为%f的下标为%d\n",max,flag);*/
int b[10]={1,1};
int i,sum;
sum=b[0]+b[1];
for(i=2;i<=9;i++){
b[i]=b[i-1]+b[i-2];
sum+=b[i];
}
printf("sum=%d\n",sum);
}
4.编写程序,定义一个二维数组,从键盘上接受变量,并以矩阵的形式输出。
#include <stdio.h>
main()
{
//第二题
/*double a[6],max;
int i,flag;
printf("请输入六个数:\n");
for(i=0;i<=5;i++)
scanf("%lf",&a[i]);
max=a[0];
flag=0;
for(i=1;i<=5;i++)
if(a[i]>max)
{
max=a[i];
flag=i;
}
printf("最大数值为%f的下标为%d\n",max,flag);
//第三题
int b[10]={1,1};
int i,sum;
sum=b[0]+b[1];
for(i=2;i<=9;i++){
b[i]=b[i-1]+b[i-2];
sum+=b[i];
}
printf("sum=%d\n",sum);*/
int a[4][4];
int i,j;
printf("请输入16个数字:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%6d",a[i][j]);
}
printf("\n");
}
}
5.已知有一下语句,编写程序,求二维数组m对角线元素之和。
#include<stdio.h>
main()
{
int a[5][5]={{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25}};
int i,j,sum=0;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(i==j||i+j==4)
sum+=a[i][j];
}
}
printf("对角线之和为%d\n",sum);
}
6.编写程序,通过一维数组接受5门课程的成绩,并输出平均分数。
#include<stdio.h>
main()
{
float score[5],ave=0;
int i;
printf("输入5门课程的成绩:\n");
for(i=1;i<=5;i++)
{
scanf("%f",&score[i]);
ave+=score[i];
}
ave/=5.0;
printf("平均分为%f",ave);
}
7.编写程序,实现一维数组中前,后元素的对调。
#include<stdio.h>
main()
{
int m[7]={1,2,3,4,5,6,7
};
int i,j,t;
printf("原有数据:\n");
for(i=0;i<=6;i++)
printf("%3d",m[i]);
printf("\n");
for(i=0,j=6;i<=j;i++,j--)
{
t=m[i];m[i]=m[j];m[j]=t;
}
printf("调换后顺序:\n");
for(i=0;i<=6;i++)
printf("%3d",m[i]);
printf("\n");
}