解题思路:
发现一个规律:个位数是n个2相乘,十位上是(n-1)个2相乘再乘以10,百位上是(n-2)个2相乘再乘以100.......最高位是1个2乘以10的(n-1)次幂。这样可以利用for循环依次对个位数,百位数,千位数.....分别求和并汇总,最后求得结果。输入的n赋值给i作为循环控制变量,x代表位数(x=1代表是个位,x=10代表是百位....)
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int a=2,i,x=1,sum=0;
scanf("%d",&i);
for (i;i>0;i--)
{
sum+=a*i*x;
x*=10;
}
printf("%d",sum);
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:577 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5227 |
众数问题 (C语言代码)浏览:821 |
A+B for Input-Output Practice (VII) (C语言代码)浏览:521 |
剪刀石头布 (C++代码)浏览:1702 |
Hello, world! (C语言代码)浏览:808 |
时间转换 (C语言代码)浏览:624 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:756 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:454 |
1218题求大神帮忙看看怎么不能过浏览:688 |