3——4
#include
void main()
{
int i,j,t=0,next=1,n;
printf("请输入n\n");
scanf("%d",&n);
printf("显示效果如下\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i+1;j++)
{
if(j==1)
t=next;
else
t=t+i+j-1;
if(j==2)
next=t-1;
printf("%d ",t);
}
printf("\n");
}
}
//思想:每一行的第二个数为next,下一行的第一个数为next-1
3——5
#include
void main()
{
int n,i,j,k;
int arr[100][100]={{0}};
//动态定义数组太难,所以在系统直接定义一个100*100的方阵,可以处理部分小问题
for(i=0;i<100;i++)
for(j=0;j<100;j++)
arr[i][j]=0;
printf("请输入n\n");
scanf("%d",&n);
/*if(n%2==0)
{
for(k=0;k
for(i=k;i
for(j=k;j
arr[i][j]=k+1;
}
else
{
for(k=0;k<(n+1)/2;k++)
for(i=k;i
for(j=k;j
arr[i][j]=k+1;
}*///可将第一个for循环中的判断条件统一改为k<(n+1)/2
for(k=0;k<(n+1)/2;k++)
for(i=k;i
for(j=k;j
arr[i][j]=k+1;
printf("显示效果如下:\n")
for(i=0;i
{
for(j=0;j
printf("%2d",arr[i][j]);
printf("\n");
}
}
本文来源:https://www.2haoxitong.net/k/doc/c37432165f0e7cd184253663.html
文档为doc格式