鱼C论坛

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

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

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

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

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

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

  2. int main()
  3. {
  4.         char num[20];
  5.         int is_num = 1, result = 0,i;
  6.         printf("请输入合法的数字:");
  7.         scanf("%s", &num);
  8.         while(is_num && num[i]!='\0')
  9.         {
  10.                 for(i =0 ; num[i]!='\0';i++)
  11.                 {
  12.                         if(num[i] >='0' && num[i] <='9')
  13.                         result = result + (num[i] - '0');
  14.                     else
  15.                             is_num = 0;
  16.                                 }
  17.         }
  18.         printf("结果是:%d", result);
  19.       
  20.         return 0;
  21. }
复制代码
问.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-9-11 16:50:27 | 显示全部楼层
发发代码
感觉num赋值有问题
小甲鱼最新课程 -> https://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;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-11 16:54:40 | 显示全部楼层
char nun 只能接收一個字符,所以要用数组 num
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-11 17:00:48 | 显示全部楼层
那等我学了数组再来回看吧,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

  2. int main()
  3. {
  4.         char num[20];
  5.         int is_num = 1, result = 0,i;
  6.         printf("请输入合法的数字:");
  7.         scanf("%s", &num);
  8.         while(is_num && num[i]!='\0')
  9.         {
  10.                 for(i =0 ; num[i]!='\0';i++)
  11.                 {
  12.                         if(num[i] >='0' && num[i] <='9')
  13.                         result = result + (num[i] - '0');
  14.                     else
  15.                             is_num = 0;
  16.                                 }
  17.         }
  18.         printf("结果是:%d", result);
  19.       
  20.         return 0;
  21. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

非常感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-11 17:13:39 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-26 13:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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