Description
输出由数字组成的菱形图案
Input
输入一个正整数n。
Output
输出由数字组成的菱形图案。其中,菱形图案当中一层的数字正好是输入的数字n。
Sample Input
3
Sample Output
1
222
33333
222
1
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int n;
int i,j;
while (scanf("%d",&n)!=EOF){
//行控制
for(i=1;i<=2*n-1;i++){
//正三角形输出
if(i<=n){
for(j=1;j<=n-i;j++){
printf(" ");
}
for(j=i;j<=3*i-2;j++){
printf("%d",i);
}
}
//倒三角形输出
else
{
for(j=1;j<=i-n;j++){
printf(" ");
}
for(j=1;j<=4*n-2*i-1;j++){
printf("%d",2*n-i);
}
}
printf("\n");
}
}
return 0;
}
Description
观察例子,打印出如下图形
Input
多组测试数据,每组输入1个大于1小于9的整数,为菱形的边
Output
对于每组输出数字菱形
Sample Input
2
3
Sample Output
2
212
2
3
323
32123
323
3
HINT
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int n;
int i,j;
while (scanf("%d",&n)!=EOF){
//行控制
for(i=1;i<=2*n-1;i++){
//正三角形输出
if(i<=n){
for(j=1;j<=n-i;j++){
printf(" ");
}
for(j=1;j<=2*i-1;j++){
if(j<=i)
printf("%d",n-j+1);
else
printf("%d",n-i+j-i+1);
}
}
//倒三角形输出
else
{
for(j=1;j<=i-n;j++){
printf(" ");
}
for(j=1;j<=4*n-2*i-1;j++){
if(j<2*n-i)
printf("%d",n-j+1);
else
printf("%d",2*i-3*n+j+1);
}
}
printf("\n");
}
}
return 0;
}