关于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");
}
}
请告诉我我哪错了
为什么会这样
怎么改
比如我输入的是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");
}
}