实验六
6.1
#include<stdio.h>
int main()
{
int a[10],n,i;
scanf("%d",&n);
//逆序存储
for(i=n-1;i>=0;i--)
scanf("%d",&a[i]);
//正序输出
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
6.2
#include<stdio.h>
int main()
{
int a[20],i;
a[0]=2;
a[1]=5;
for(i=2;i<=19;i++)
a[i]=2*a[i-1]-a[i-2]+2;
for(i=0;i<=19;i++)
{
printf("%d ",a[i]);
if((i+1)%5==0)
printf("\n");
}
printf("\n");
return 0;
}
6.3
#include<stdio.h>
int main()
{
int a[6]={1,3,5,8,9},i,j,n;
scanf("%d",&n);
for(i=0;i<5;i++)
{
if(a[i]>n)
break;
}
for(j=4;j>=i;j--)
a[j+1]=a[j];
a[i]=n;
for(i=0;i<6;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
6.4
#include<stdio.h>
int main()
{
int a[4][4],i,j,sum=0,n=0;
double ave=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
if(i+j==3)
{
if(a[i][j]%2==0)
{
ave+=a[i][j];
n++;
}
else
sum+=a[i][j];
}
}
if(n>0)
ave=1.0*ave/n;
printf("sum= %d,ave= %.2f\n",sum,ave);
return 0;
}
6.5
#include<stdio.h>
int main()
{
int a[5][5],i,j,sum=0,n=1;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
a[i][j]=n;
n++;
if(i>=j)
{
printf("%d ",a[i][j]);
if(i==j)
printf("\n");
sum+=a[i][j];
}
}
printf("sum= %d\n",sum);
return 0;
}
6.6
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[4][4],i,j,t;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
a[i][j]=rand()%100+1;
printf("转置前:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
printf("%d ",a[i][j]);
if(j==3)
printf("\n");
}
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
{
t=a[i][j];
a[i][j]=a[3-j][3-i];
a[3-j][3-i]=t;
}
printf("转置后:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
printf("%d ",a[i][j]);
if(j==3)
printf("\n");
}
return 0;
}
6.7
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[4][4],b[4][4],i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
a[i][j]=rand()%30+1;
b[i][j]=rand()%30+1;
}
printf("a数组:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
printf("%3d ",a[i][j]);
if(j==3)
printf("\n");
}
printf("b数组:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
printf("%3d ",b[i][j]);
if(j==3)
printf("\n");
}
//转换规律
for(i=0;i<4;i+=3)
for(j=0;j<4;j++)
{
b[j][3-i]=a[i][j];
}
printf("a数组:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
printf("%3d ",a[i][j]);
if(j==3)
printf("\n");
}
printf("b数组:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
printf("%3d ",b[i][j]);
if(j==3)
printf("\n");
}
return 0;
}