关于C++的,我哪错了

来源:百度知道 编辑:UC知道 时间:2024/06/11 14:35:53
我想打印成这样
比如我输入的是5
55555
4444
333
22
1

1
22
333
4444
55555

#include <stdio.h>
void main()
{
int i,j;
int k,l;

printf("请输入一个数:");
scanf("%d",&k);

l=k;

for(i=1;i<=k;i++)
{
for(j=k;j>=i;j--)
{
printf("%d",l);
}
l--;
printf("\n");
}

printf("\n");

for(i=1;i<=k;i++)
{
for(j=1;j<=i;j++)
{
printf("%d",l);
}
l++;
printf("\n");
}
}
请告诉我我哪错了
为什么会这样
怎么改

你在打印第二个三角的时候把l初始化成1就行了,下面是我改好的:
#include "stdio.h"
void main()
{
int i,j;
int k,l;

printf("请输入一个数:");
scanf("%d",&k);

l=k;

for(i=1;i<=k;i++)
{
for(j=k;j>=i;j--)
{
printf("%d",l);
}
l--;
printf("\n");
}

printf("\n");
l=1;//就是在这里把l初始化1,因为这时l其实是0不是1
for(i=1;i<=k;i++)
{
for(j=1;j<=i;j++)
{
printf("%d",l);
}
l++;
printf("\n");
}
}