Problem I: 打印字母菱形图案
Time Limit: 1 SecMemory Limit: 2 MB
Submit: 633Solved: 246
[Submit][Status][Web Board]
Description
从键盘输入一个整数n(1≤n≤10),打印出指定的数字图形。
Input
正整数n(1≤n≤10)。Output
指定的数字图形,参看样例。注意最右侧数字后面有空格,直到与最长的一行对齐。Sample Input
6Sample Output
1 515 54145 5431345 543212345 11111111111 543212345 5431345 54145 515 1HINT
Append Code
用坐标法比较简便!!!!!#include<stdio.h>#include<math.h>int main(){int n,i,j,k;scanf("%d",&n);for(i=-(n-1); i<=(n-1); i++){for(j=-(n-1); j<=(n-1); j++){if(i==0||j==0)printf("1");else if( abs(i) + abs(j) <= (n-1))printf("%d",abs(i)+abs(j));elseprintf(" ");}printf("\n");}}
然后贴一下麻烦的!!
#include <stdio.h>int main(){int n,i,j,k;scanf("%d",&n);for(i=0; i<n-1; i++){for(k=0; k<n-i-1; k++){printf(" ");}for(k=0; k<i; k++){printf("%d",n-1-k);}printf("1");for(k=0; k<i; k++){printf("%d",n-i+k);}for(k=0; k<n-i-1; k++){printf(" ");}printf("\n");}for(i=0; i<2*n-1; i++){printf("1");}printf("\n");for(i=0; i<n-1; i++){for(j=0; j<i+1; j++){printf(" ");}for(j=0; j<n-2-i; j++){printf("%d",n-1-j);}printf("1");for(j=0; j<n-2-i; j++){printf("%d",i+2+j);}for(j=0; j<i+1; j++){printf(" ");}printf("\n");}}
如果觉得《打印字母菱形图案》对你有帮助,请点赞、收藏,并留下你的观点哦!