标题:本题解法
只看楼主
xk2401594673
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2020-4-5
结帖率:0
已结贴  问题点数:20 回复次数:11 
本题解法
从键盘输入一个正整数n,计算该数的各位数字之和并输出。例如输入5246,计算5+2+4+6=17并输出
搜索更多相关主题的帖子: 输出 输入 计算 之和 位数 
2020-04-05 19:46
sherlocked13
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2020-4-5
得分:3 
#include <stdio.h>
#include <stdlib.h>
int main()
{
   int a;
   scanf("%d",&a);
   int b,c,d,e;
   int sum;
   b=a/1000;
   c=a/100%10;
   d=a/10%10;
   e=a%10;
   sum=b+c+d+e;
   printf("%d",sum);
}


就是一个分离各个数位的思想
2020-04-05 19:56
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:3 
字符串输入 处理起来很方便
程序代码:
#include <stdio.h>
int main()
{
    int count = 0;
    for(int n = '0'; n != '\n'; n = getchar())
        count += n - '0';
    printf("%d\n", count);
    return 0;
}

https://zh.
2020-04-05 21:32
smalluncle
Rank: 2
来 自:中国
等 级:论坛游民
帖 子:5
专家分:27
注 册:2019-8-2
得分:3 
还是楼上的代码看起来舒服,我好弱。


    int max=0 ;
    char str[32];
    printf("请输入您要计算的结果:\n");
    gets(&str);
   
    for (int i = 0; i < strlen(str); i++) {
        switch (str[i]) {
            case '1':
                max += 1;
                break;
            case '2':
                max+=2;
                break;
            case '3':
                max+=3;
                break;
            case '4':
                max+=4;
                break;
            case '5':
                max+=5;
                break;
            case '6':
                max+=6;
                break;
            case '7':
                max+=7;
                break;
            case '8':
                max+=8;
                break;
            case '9':
                max+=9;
                break;
            case '0':
                max+=0;
                break;
        }
    }
    printf("The max is %d \n",max);

快!叫叔叔。
2020-04-06 00:58
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:3 
程序代码:
#include<stdio.h>
int main()
{
int n,sum=0;
scanf("%d",&n);
while(n)
{
sum += n%10;
n/=10;
}
printf("%d\n",sum);
return 0;
}
2020-04-06 13:40
opq2020
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2020-4-3
得分:3 
额,不知道
2020-04-06 20:21
hbccc
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:108
专家分:315
注 册:2020-2-18
得分:3 
用%10,然后累加
2020-04-06 20:50
fulltimelink
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:171
专家分:752
注 册:2020-4-1
得分:3 
程序代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

void main(void)
{
    int theNum = 0;
    scanf("%d", &theNum);
    int theResult = 0;
    while (theResult += (theNum%10),theNum /= 10) {}
    printf("%d\n", theResult);
}
2020-04-09 10:58
计算机好难啊
Rank: 1
等 级:新手上路
帖 子:33
专家分:8
注 册:2020-3-28
得分:3 
根据你所提出的问题,可以判断你还是个初学者。
5楼的答案最适合你
#include<stdio.h>
int main()
{
int n,sum=0;
scanf("%d",&n);
while(n)
{
sum += n%10;
n/=10;
}
printf("%d\n",sum);
return 0;
}
2020-04-10 09:37
fulltimelink
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:171
专家分:752
注 册:2020-4-1
得分:0 
来个递归
程序代码:
unsigned binary_ascii_add(unsigned value) {
    unsigned quotient;
    unsigned sum = 0;
    quotient = value / 10;
    if (0 != quotient) {
        sum += binary_ascii_add(quotient);
    }
    sum += value % 10;
    return sum;
}
2020-04-10 14:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-500879-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084854 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved