1212 A+B II

1212 A+B II

1、题目内容

Description
题目描述
小明喜欢做a+b,一天他在练习册上看到一系列很有意思的式子
  1
 1+1
12+21
123+321
小明想你帮他写个程序,能打印出对应层数的这些漂亮的式子图形。
输入
每行一个整数n≤10,表示式子的层数,如果n=0,表示输入结束,不需要处理这个样例。

输出
输出对应层数的式子图形,行末无空格。

样例输入
1
2
3
0

样例输出
1
1
1+1
1
1+1
12+21

2、题目分析

图形题找出规律进行实现就好了,建议这样做:将图形一点点的实现。从样例中我们可以看出,先是数字从1递增,加个+号,再输出递减到1的序列。不过在这个地方需要注意的是,第一行只有一个1,所以我们可以把它单独作为一种情况输出。

3、参考代码

#include<stdio.h>
int main()
{
	int n;
	while(scanf("%d",&n)!=EOF&&n!=0) //多样例且n不为0 
	{
		int i,j;
		for(i=0;i<n;i++) //共有n行 
		{
			for(j=0;j<n-1-i;j++) //每行对应的空格规律 
			{
				printf(" ");
			}
			if(i==0) //单独考虑第一行 
			{
				printf("1");
			}
			else
			{
				for(j=1;j<=i;j++) //递增序列 
				{
					printf("%d",j);
				}
				printf("+"); //加号 
				for(j=j-1;j>=1;j--) //递减序列 
				{
					printf("%d",j);
				}
			}
			printf("\n"); //完成一行输出进行换行 
		}
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_42987451/article/details/83955995
A+B