c语言计算各个位上数字的和,输入一个正数或者负数求各个位置上的和 C语言

1,输入一个正数或者负数求各个位置上的和 C语言#include int main() { int num=0; printf("input a num:"); scanf("%d",&num ); do { printf("%d" , num %10 ); //取个位 num /= 10 ; //缩小10倍,即去掉个位 }while ( num ); //直到num变为0 printf("\n"); return 0; }
2 , C语言 求整数的位数以及各位数之和123456789101112131415161718192021222324 #include<stdio.h>#include<math.h>intmain() intnum,repeat,number=0; intn=0; intsum=0; scanf("%d",&repeat); while(n<repeat) scanf("%d",&num); do sum+=abs(num%10); num/=10; number++; }while(num!=0); printf("%d,%d\n",sum,number); sum=0; number=0; n++; } return0;}输入的样式不对..但是就是这么个思想解决..【c语言计算各个位上数字的和,输入一个正数或者负数求各个位置上的和 C语言】
3,C语言怎么求出各个位数的和#include <stdio.h>void main()int i=123,sum=0;while(i>0)sum+=i%10;//如果是十进制i=i/10;}printf("sum=%d\n",sum);}使用循环语句就可以解决了 。int var; //定义变量并初始化scanf("%d",var);int sum(0);while(var)sum += (var % 10);var = (var - var % 10)/10;//var/=10} printf("%d",sum);如果输入的整数使用字符数组来存放的话,直接使用访问数组下标访问的方式依次取出每一位进行相加就可以了 。假设输入的数字存放在char 型数组data[20]中int i(0);for(i;i < len; i++)//len代表输入的数字的位数,可以求出的sum += atoi(data[i]);}计算正整数各个位数的和#include int main()int a = 0;int b = 0;scanf("%d", &a);while (a > 0)b += a % 10;a /= 10;}printf("%d\n", b);return 0;}

    推荐阅读