作业不会做,求大神来教

输入一个整数,求它的位数以及各位数字之和,例如,123的位数是3,各位数字之和是6。
珄笙姑娘
浏览 1677回答 3
3回答

Yexiaomo

#include<stdio.h> int main() {     int n = 0;//n用来存放用户输入的 值  int s = 0;//s用来存放位数字和  int i = 0;//i用来存放位数      printf("Input an integer:");     scanf("%d", &n);     while (n != 0) {         s += (n % 10); //n对10求余,就可以求出 n的个位数字         n /= 10;      //  (n/10)  将会把个位数字丢弃          ++i;    // 一个循环 i 将会自增一次, 表示位数 会比上一次多 1      }     printf("位数是: %d, 各位数字之和为: %d\n", i, s);     return 0; }方法不止一种, 仅供参考, 实在看不懂了, 就动笔 推算一下....

Tobey_滔

说一下思路....将输入的数字当成一个字符串处理...那么位数就可以轻易获取了(字串长度即可)...然后利用一个循环..将字串的一个一个字符拿下来继续相加即可获取个个数字之和...
打开App,查看更多内容
随时随地看视频慕课网APP