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