鱼C论坛

 找回密码
 立即注册
查看: 1016|回复: 7

[已解决]对用户输入的整数进行求和。当用户输入任意字符时,结束程序并打印结果。

[复制链接]
发表于 2021-9-11 16:45:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
求教各位,为什么我的程序输出结果总是为0
最佳答案
2021-9-11 17:05:52
牵扯到数组,就需要遍历了
发代码的方法 点击消息框上的  <>  就可以插入代码了
#include <stdio.h>

int main()
{
        char num[20];
        int is_num = 1, result = 0,i;
        printf("请输入合法的数字:");
        scanf("%s", &num);
        while(is_num && num[i]!='\0')
        {
                for(i =0 ; num[i]!='\0';i++)
                {
                        if(num[i] >='0' && num[i] <='9')
                        result = result + (num[i] - '0');
                    else
                            is_num = 0;
                                }
        }
        printf("结果是:%d", result);
       
        return 0;
}
问.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-11 16:50:27 | 显示全部楼层
发发代码
感觉num赋值有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-11 16:53:56 | 显示全部楼层
#include <stdio.h>

int main()
{
        char num;
        int is_num = 1, result = 0;
       
        while(is_num)
        {
                printf("请输入合法的数字:");
                scanf("%s", &num);
                if(num >='0' && num <='9')
                {
                        result = result + (num - '0');
                }
                else{
                        is_num = 0;
                }
        }
        printf("结果是:%d", result);
       
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-11 16:54:40 | 显示全部楼层
char nun 只能接收一個字符,所以要用数组 num
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-11 17:00:48 | 显示全部楼层
那等我学了数组再来回看吧,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-11 17:05:52 | 显示全部楼层    本楼为最佳答案   
牵扯到数组,就需要遍历了
发代码的方法 点击消息框上的  <>  就可以插入代码了
#include <stdio.h>

int main()
{
        char num[20];
        int is_num = 1, result = 0,i;
        printf("请输入合法的数字:");
        scanf("%s", &num);
        while(is_num && num[i]!='\0')
        {
                for(i =0 ; num[i]!='\0';i++)
                {
                        if(num[i] >='0' && num[i] <='9')
                        result = result + (num[i] - '0');
                    else
                            is_num = 0;
                                }
        }
        printf("结果是:%d", result);
       
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-11 17:09:59 | 显示全部楼层
大马强 发表于 2021-9-11 17:05
牵扯到数组,就需要遍历了
发代码的方法 点击消息框上的    就可以插入代码了

非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-11 17:13:39 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 06:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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