第12周的第9次作业(循环)7-1 求整数的位数及各位数字之和
1.实验代码
#include<stdio.h>
int main()
{
int i,sum=0,item=0,t,a,b=0,c,d;
scanf("%d",&t);
while (t!=0){
d=t;
a=t/10;
b=b+1;
item=d-a*10;
sum=sum+item;
t=a;
}
printf("%d %d",b,sum);
return 0;
}
2.设计思路
第一步:使输入的数字不停循环除以十,因为输入的数字是整型,小数会省略因此,用while语句设置循环结构。
第二步:使用循环并且使用输入的数与约掉个位数的数乘以十相减等到一个个位数,通过循环使每次得到的个位数相加,并且进行循环直至输入的数变成零,进程结束。
流程图:
3.本题调试过程碰到问题及解决办法
刚开始编写时发生了这个错误:
接着我进行了调试:
是因为whlie条件里的量和输入的量不是同一个,将他改正后:
通过调试,发现起初用if语句分类了输入为个位数和多位数,多此一举毫无用处因此我将他删除。
错误改正成功。
原文:https://www.cnblogs.com/xiaofengqaq/p/9959905.html