数字菱形

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;
}

全部评论

相关推荐

11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:52
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务