题目描述
小明喜欢做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
这道题可以通过ASCII码将数字转化为字符形式,通过循环进行输出
#include<stdio.h>
int main()
{
int n,i,j,m;
char str[15];
while(scanf("%d",&n)&&n!=0)
{
m = n;
for(j = 1;j < m;j++)
printf(" ");
printf("1\n");
for(i = 1;i < n;i++)
{
str[i-1]=i + 48;
for(j = 1;j < n-i;j++)
printf(" ");
if(n >1)
{
for(j = 0;j < i;j++)
printf("%c",str[j]);
printf("+");
for(;j>0;j--)
printf("%c",str[j-1]);
printf("\n");
}
}
}
return 0;
}