题目:求s=a+aa+aaa+aaaa+...aaa的值,其中a是一个数字。例如:2+22+222+2222+22222(此时共有五个数相加),几个数相加由键盘控制。
分析:
1.如何由键盘控制,即输入一个个位数,由程序设计几个数相加,得出和。
int a=2;
//通过程序得到
a=22;a=222;a=2222;a=22222;
//然后相加得到
sum
----------------------------------------
在这里我们可以使用while(循环次数){}也可以用for()
2.如何表示a aa aaa aaaa...
拿例子入手:
22=2*10+2;
222=22*10+2;//
2222=222*10+2;
22222=2222*10+2;
-------------------------
a(新的 )= a(旧的)*10 +a(旧的).
但是当我们这样表示的时候 我们会发现 【+a(旧的)】部分也是会改变
所以我们可以使用一个中间变量(temp),在开始的时候就给他赋值(2)
------------------------------------------------------------------------------------------------
a(新的)=a(旧的)*10+temp
#includeint main(){ int a=2,temp,n=1,sum=0; temp=a; printf("a=%dn",a); while(n<=5){ a=a*10+temp; printf("a=%dn",a); sum+=a; n++; } sum=sum+temp; printf("sum= %dn",sum); return 0; }
#includeint main(){ int a,temp,n,i,sum=0; printf("请输入a和n的值:n"); scanf("%d %d",&a,&n); temp=a; sum=a; for(i=1;i<=n;i++){ a=a*10+temp; sum+=a; } printf("sum= %dn",sum); return 0; }
多尝试



