鱼C论坛

 找回密码
 立即注册
查看: 2446|回复: 9

小甲鱼S1E14课后题里的动手第一题

[复制链接]
发表于 2022-3-5 12:26:41 | 显示全部楼层 |阅读模式

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

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

x
屏幕截图 2022-03-05 122051.png
这是题目
#include<stdio.h>
int main()
{
        int num;
        int sum=0;
         
        
                }
                while((num>='0')||(num<='9')||(num!='\n'));
                
                
                
        printf("结果为:%d",sum);
        
        return 0;
}
为什么实现不了 我好菜
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-3-5 12:29:14 | 显示全部楼层
#include<stdio.h>
int main()
{
        int num;
        int sum=0;
        
         
                do
                {
                        printf("请输入合法的数字:");
                        scanf("%d",&num);
        
                        sum=sum+num;
        
                }
                while((num>='0')||(num<='9')||(num!='\n'));
                
                
                
        printf("结果为:%d",sum);
        
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-5 12:32:14 | 显示全部楼层
本帖最后由 jhq999 于 2022-3-5 12:35 编辑

#include<stdio.h>
int main()
{
        int num=0;//////////
        int sum=0;
        
         
                do
                {
                        printf("请输入合法的数字:");
                        sum=sum+num;////////////
                        scanf("%d",&num);
        
                        
        
                }
                while((num>='0')||(num<='9')||(num!='\n'));
                
                
                
        printf("结果为:%d",sum);
        
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-5 12:54:08 | 显示全部楼层
本帖最后由 jackz007 于 2022-3-5 12:56 编辑
#include <stdio.h>

int main(void)
{
        char c                              ;
        int e                               ;
        for(e = 0 ;;) {
                printf("请输入合法数字 : ") ;
                c = getchar() - '0'         ;
                fflush(stdin)               ;
                if(c >= 0 && c <= 9) e += c ;
                else break                  ;
        }
        printf("结果为:%d\n" , e)          ;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-5 18:27:33 | 显示全部楼层

大佬,变成这样了我靠
屏幕截图 2022-03-05 182523.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-5 18:49:00 | 显示全部楼层
RayLee1 发表于 2022-3-5 18:27
大佬,变成这样了我靠

        你不会搞错了吧,在我这里是这样:
D:\[00.Exerciese.2022]\C>g++ -o x x.c

D:\[00.Exerciese.2022]\C>x
请输入合法数字 : 5
请输入合法数字 : 4
请输入合法数字 : 3
请输入合法数字 : 2
请输入合法数字 : 1
请输入合法数字 : x
15

D:\[00.Exerciese.2022]\C>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-5 18:59:32 | 显示全部楼层
jackz007 发表于 2022-3-5 18:49
你不会搞错了吧,在我这里是这样:

应该是回复我
        int num=0,ret=0;//////////
        int sum=0;
        
         
                do
                {
                        printf("请输入合法的数字:");
                        sum=sum+num;////////////
                        ret=scanf("%d",&num);
        
                        
        
                }while(ret);
                
                
                
        printf("结果为:%d",sum);
        
        return 0;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-12 21:22:45 | 显示全部楼层

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

使用道具 举报

发表于 2022-6-10 18:23:41 | 显示全部楼层
#include<stdio.h>

unsigned int i,ch,ch1,count=0,count1=0;//count为最终结果,count1为每次读入整数

int main()    //思路:1、读入所有字符,判断是否合法。2、计算每次输入全部整数。3、加到最后结果里。
{
 while(1)
 {
          printf("请输入合法的数字:");

        do
        {
                ch=getchar();
                if(ch>='0'&&ch<='9') //是数字的时候
                {
                        count1=10*count1+ch-'0';  //读取十进制数字
                }
                else   //不是数字的话,跳出去
                {
                        ch1=ch;    //为了后面区分回车还是字母用临时变量
                         break;
                }
                
        }

        while (ch!='\n');

        count=count+count1;
        if(ch1=='\n') //如果是回车,返回循环
                ;
        else break;  //如果不是回车,也不是数字,退出循环
        count1=0;    //单独一次循环的中间变量重置0

 }
        printf("结果是:%d\n",count);
 
return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-10 18:25:00 | 显示全部楼层
我这个可以不只是输入个位数。验证了可以输入多位数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-6 02:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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