【习题04】计算求和
题目求Snaaaaaaaaaaaaaaa的前5项之和其中a是一个数字例如2222222222222221、题目分析我们观察这5个数222*10222222*1022222222*102222222222*102通过以上列举我们可以发现规律每次得到的新a就是a*102原始的a。我们要构造一个变量记录原始的a。方法一定义变量a、base a。进入循环操作每次循环的核心操作是a*10base执行4次循环就可以得到这样的5个数。我们利用变量i控制循环次数利用for构造循环体定义变量sum用于每次循环的累加得到最终结果。方法二定义变量a、base a、temp、count。进入循环操作每次循环的核心操作是a*10base执行循环就得到5个新a。循环结束的条件是得到的新a位数为5。变量temp是得到的新a的一份临时拷贝用于计算新a的位数count充当计数器的作用求位数。定义变量sum用于每次循环的累加得到最终结果。2、代码演示//方法一intmain(){inta0;scanf(%d,a);intbasea;intsuma;inti0;for(i;i4;i)//循环4次{aa*10base;//得到新asuma;//累加}printf(%d,sum);return0;}//方法2intmain(){inta0;scanf(%d,a);intbasea;intsuma;while(1)//进入循环{aa*10base;//得到新asuma;//累加inttempa;//临时拷贝a新aintcount0;//构造计数器while(temp)//计算新a的位数{temp/10;count;}if(count5)//新a的位数为5跳出循环{break;}}printf(%d,sum);return0;}