C语言-打印以下形式的数据:(找规律用数组输出,不能直接用下面给的数值初始话数组)
- 打印以下形式的数据:(找规律用数组输出,不能直接用下面给的数值初始话数组)
1 4 9 16 25
4 9 16 25 1
9 16 25 1 4
16 25 1 4 9
25 1 4 9 16 - 方法一
观察数组,第一行,即1x1 2x2 3x3 4x4 5x5
k=(i+j)%5;a[i][j]=(k+1)*(k+1);
举例 k=0%5=0 a[i][j]=1
k=1%5=1 a[]=4
k=2%5=2 a[]=9
k=3%5=3 a[]=16
k=4%5=4 a[]=25
#include <stdio.h>
int main(void)
{
int a[5][5],i,j,k;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
k=(i+j)%5;
a[i][j]=(k+1)*(k+1);
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
return 0;
}
#include <stdio.h>
void main()
{
int a[5]={1,4,9,16,25},i,j;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%3d",a[(i+j)%5]);
}
printf("\n");
}
}
#include<stdio.h>
int main(void)
{
int a[5][5],i,j;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(i+j==4) a[i][j]=25;
if(i+j==3||i+j==8) a[i][j]=16;
if(i+j==2||i+j==7) a[i][j]=9;
if(i+j==1||i+j==6) a[i][j]=4;
if(i+j==0||i+j==5) a[i][j]=1;
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}