首页 > 代码库 > 实验六

实验六

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]);

	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;
}

实验六