鱼C论坛

 找回密码
 立即注册
查看: 1045|回复: 2

[已解决]求助

[复制链接]
发表于 2023-11-26 13:37:44 | 显示全部楼层 |阅读模式
10鱼币
任务描述
编程输入一串字符(以#字符结束),输出这串字符中所有数字字符的和。

输入样例:
ABC123DE4FG#
输出样例:
10
请讲解一下,不知道怎么写
最佳答案
2023-11-26 13:37:45
#include <stdio.h>
int main()
{
        char ch;
        int sum = 0;
        while((ch = getchar()) != '#') { //一次读入一个字符,如果读到 # 就退出 
                if('0' <= ch && ch <= '9') { //如果 ch 是数字字符 
                        sum += (ch-'0');         //sum 加上这个数字 
                } 
        }
        printf("%d", sum);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-26 13:37:45 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>
int main()
{
        char ch;
        int sum = 0;
        while((ch = getchar()) != '#') { //一次读入一个字符,如果读到 # 就退出 
                if('0' <= ch && ch <= '9') { //如果 ch 是数字字符 
                        sum += (ch-'0');         //sum 加上这个数字 
                } 
        }
        printf("%d", sum);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-26 13:38:02 | 显示全部楼层
首先,需要明确如何判断一个字符是否是数字字符。在大多数编程语言中,可以使用内置的函数或方法来判断。

以Python为例,可以使用isdigit()方法来判断一个字符是否是数字字符。isdigit()方法会返回True或False。如果字符是数字字符,则返回True;否则,返回False。

接下来,我们可以使用一个循环来遍历输入的字符串,判断每个字符是否是数字字符,并将数字字符转换为整数。然后将这些整数累加起来,即可得到所有数字字符的和。

下面是一种实现方式的代码示例:
s = input("请输入一串字符(以#结束):")sum = 0for c in s:    if c.isdigit():        sum += int(c)print(sum)
以上代码中,首先通过input()函数获取用户输入的一串字符。然后,使用sum变量来保存数字字符的和,初始化为0。

接着,通过for循环遍历输入的字符串的每个字符。对于每个字符,使用isdigit()方法判断是否是数字字符。如果是数字字符,则将其转换为整数,并加到sum上。

最后,打印sum的值,就是所有数字字符的和。

运行该代码示例,你可以尝试输入字符序列"ABC123DE4FG#",输出结果应为10。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 12:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表