题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
程序分析:关键是计算出每一项的值。
代码示例:
#include <stdio.h>
int main()
{
int element; //0~9的元素
int n; //加数的个数
printf("输入0~9的整数后按下回车:");
scanf("%d",&element);
printf("输入次数后按下回车:");
scanf("%d",&n);
int grow=element; //每一轮的加数
int i,sum=0; //for循环下标,加数和
for(i=1;i<=n;i++){ //循环n次
printf("%d",grow); //打印grow
sum+=grow; //求和
if(i>=1 && i<n) //只循环了一次或者循环到最后一次时,打印“=”以及sum
printf("+"); //否则,打印“+”
else
printf("=%d",sum);
grow=grow*10+element; //下一轮的加数变大
}
return 0;
}
样例输出1:
样例输出2:
样例输出3:
版本2?(只是if else语句不同)
#include <stdio.h>
int main()
{
int element; //0~9的元素
int n; //加数的个数
printf("输入0~9的整数后按下回车:");
scanf("%d",&element);
printf("输入次数后按下回车:");
scanf("%d",&n);
int grow=element; //每一轮的加数
int i,sum=0; //for循环下标,加数和
for(i=1;i<=n;i++){ //循环n次
printf("%d",grow); //打印grow
sum+=grow; //求和
if(n==1 || i==n) //只循环了一次或者循环到最后一次时,打印“=”以及sum
printf("=%d",sum); //否则,打印“+”
else
printf("+");
grow=grow*10+element; //下一轮的加数变大
}
return 0;
}