打印数字菱形
输入 2 3
打印 2
3 3
4 4
3 3
2
这是我写的,但是一直不知道有什么地方错误了,不胜感激!
#include<stdio.h>
int main()
{
int a,b,i,j,z,m,n,k;
scanf("%d,%d",&a,&b);
for(i=0;i<b;i++)
{
z=b-i;
for(j=0;j<(b+2);j++)
{
if(j==z,j==z+2)
{
printf("%d",&a);
}
if(j==b)
{
printf("%d",&a);
}
else
{
printf(" ");
}
a++;
}
}
b--;
a++;
for(m=0;m<b;m++)
{
k=b-m;
for(n=0;n<(b+2);n++)
{
if(n==k&&n==k+2)
{
printf("%d",&a);
}
if(n==b)
{
printf("%d",&a);
}
else
{
printf(" ");
}
a--;
}
}
return 0;
}
scanf("%d%d",&a,&b);
//scanf内部结构就是你要输入的方式,例如%d空格%d,2空格3
//printf内部直接调用变量,&是取地址符号,表示变量所在地址。
```c
#include<stdio.h>
int main()
{
int a,b,i,j,z,m,n,k;
scanf("%d %d",&a,&b);
for(i=0;i<b;i++)
{
z=b-i;
for(j=0;j<(b+2);j++)
{
if(j==z,j==z+2)
{
printf("%d",a);
}
if(j==b)
{
printf("%d",a);
}
else
{
printf(" ");
}
a++;
}
}
b--;
a++;
for(m=0;m<b;m++)
{
k=b-m;
for(n=0;n<(b+2);n++)
{
if(n==k&&n==k+2)
{
printf("%d",a);
}
if(n==b)
{
printf("%d",a);
}
else
{
printf(" ");
}
a--;
}
}
return 0;
}
```