标题:运行显示if(a symbol b==c) 错了,那个symbol应该怎么改啊?if语句里能用字 ...
只看楼主
我没有理想
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2018-10-31
结帖率:100%
已结贴  问题点数:18 回复次数:6 
运行显示if(a symbol b==c) 错了,那个symbol应该怎么改啊?if语句里能用字符变量吗?求大神解答
#include<stdio.h>#include<stdlib.h>#include<time.h>int main(){    int a,b,c,count=0,flag=0,t;    char symbol;    do{        srand(time(0));        t=rand()%4;        if(t==0) symbol='+';        if(t==1) symbol='-';        if(t==2) symbol='*';        if(t==3) symbol='/';        a=rand()%11;        b=rand()%11;        printf("%d%c%d=?\n",a,symbol,b);        scanf("%d",&c);        count++;        if(a symbol b==c)        flag++;    }while(count<10);    if(flag==10)        printf("Right!\n");    else        printf("Wrong!\n");         printf("你的得分是%d!正确率为%d%!",flag*10,flag*10);        return 0;}
搜索更多相关主题的帖子: 运行 if symbol flag printf 
2018-10-31 23:39
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:6 
以下是引用我没有理想在2018-10-31 23:39:40的发言:

#include<stdio.h>#include<stdlib.h>#include<time.h>int main(){    int a,b,c,count=0,flag=0,t;    char symbol;    do{        srand(time(0));        t=rand()%4;        if(t==0) symbol='+';        if(t==1) symbol='-';        if(t==2) symbol='*';        if(t==3) symbol='/';        a=rand()%11;        b=rand()%11;        printf("%d%c%d=?\n",a,symbol,b);        scanf("%d",&c);        count++;        if(a symbol b==c)        flag++;    }while(count<10);    if(flag==10)        printf("Right!\n");    else        printf("Wrong!\n");         printf("你的得分是%d!正确率为%d%!",flag*10,flag*10);        return 0;}

先把代码整理好
2018-11-01 04:24
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:6 


学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-01 11:41
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:0 
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int _tmain(int argc, _TCHAR* argv[])
{
    int a,b,c,count=0,flag=0,t;
    char symbol;   
    do{        
        srand(time(0));
        t=rand()%4;        
        if(t==0) symbol='+';      
        if(t==1) symbol='-';      
        if(t==2) symbol='*';      
        if(t==3) symbol='/';        
        a=rand()%11;      
        b=rand()%11;        
        printf("%d%c%d=?\n",a,symbol,b);        
        scanf("%d",&c);        
        count++;
        switch (symbol)
        {
        case '+':
            if (a + b == c)
            flag++;
            break;
        case '-':
            if (a - b == c)
                flag++;
            break;
        case '*':
            if (a * b == c)
                flag++;
            break;
        case '/':
            if (a / b == c)
                flag++;
            break;
        default:
            break;
        }  
    }
    while(count<10);   
    if(flag==10)        
        printf("Right!\n");
    else        
        printf("Wrong!\n");         
    printf("你的得分是%d!正确率为%d%!",flag*10,flag*10);        
    return 0;
}

帮你整理了一下!
if(a symbol b==c)  这句是实现不了得!  字符转化成运算符号,我还真不会!
直接加了个switch 判断符号了!
运行结果应该不是你要的!  
不知道你具体需要实现什么!
写代码,没有你这样写的!  

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-01 12:25
我没有理想
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2018-10-31
得分:0 

我写的是任务四,用switch是不是太麻烦了呢
2018-11-01 14:27
我没有理想
Rank: 1
等 级:新手上路
帖 子:9
专家分:4
注 册:2018-10-31
得分:0 

我做出来了,就是觉得有点长,大神们有没有什么简单的方法啊
2018-11-01 14:37
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:395
专家分:2640
注 册:2018-3-30
得分:6 
switch写一个就可以了啊,
switch(op) {
    case '+':
        ......
        break;
    case '-':
        ......
        break;
    case '*':
        ......
        break;
    case '/':
        ......
        break;
    default:
        ......
}

saber,别哭.
2018-11-01 18:27



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




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

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