c语言的计算题

#include<stdio.h>#include<stdlib.h>intmain(){inta,b,c,sum,con,ges,i,op,right=0;charfl... #include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b,c,sum,con,ges,i,op,right=0;
char flag;
srand(time(NULL));
for(i=1;i<=10;i++){
a=rand()%100;
b=rand()%100;
op=rand()%3;
if(a-b<0){
c=b;
b=a;
a=c;
}
switch(op){
case 0:flag='+';
con=a+b;
break;
case 1:flag='-';
con=a-b;
break;
case 2:flag='*';
con=a*b;
break;
defalut:break;
}

printf("%d%c%d=",a,flag,b);
scanf("%c",&ges);
if(ges==con) right++;
printf("\t 正确答案是%d\n",con);
}
printf("回答对%d题\n",right);
return 0;
}
帮查错一下
展开
 我来答
geniepengsz
推荐于2016-10-31 · TA获得超过2万个赞
知道大有可为答主
回答量:1.2万
采纳率:97%
帮助的人:2320万
展开全部
编译调试了一下,修正了三处错误,注释和示例代码如下:
#include<stdio.h>
#include<stdlib.h>
#include <time.h> //包含C的标准时间函数头文件
int main()
{
int a,b,c,sum,con,ges,i,op,right=0;
char flag;
srand(time(NULL));
for(i=1;i<=10;i++)
{
a=rand()%100;
b=rand()%100;
op=rand()%3;
if(a-b<0)
{
c=b;
b=a;
a=c;
}
switch(op)
{
case 0:
flag='+';
con=a+b;
break;
case 1:
flag='-';
con=a-b;
break;
case 2:
flag='*';
con=a*b;
break;
//defalut:break; 拼写错误
default:
break;
}
printf("%d%c%d=",a,flag,b);
scanf("%c",&ges);
fflush(stdin); //增加一个请键盘缓存函数,以避免下一循环的输入误判。
if(ges==con)
right++;
printf("\t 正确答案是%d\n",con);
}
printf("回答对%d题\n",right);
return 0;
}
供参考
人事理事成规dbf8
2014-11-07 · TA获得超过228个赞
知道小有建树答主
回答量:512
采纳率:0%
帮助的人:268万
展开全部

正确代码如下:

#include<stdio.h>
#include<stdlib.h>
#include <time.h>  //time函数需调用.h头文件
int main()
{
    int a,b,c,sum,con,ges,i,op,right=0;
    char flag;
    srand(time(NULL));    //其间调用了time函数
    for(i=1;i<=10;i++){
        a=rand()%100;
        b=rand()%100;
        op=rand()%3;
        if(a-b<0){
            c=b;
            b=a;
            a=c;
        }
        switch(op){
        case 0:flag='+';
            con=a+b;
            break;
        case 1:flag='-';
            con=a-b;
            break;
        case 2:flag='*';
            con=a*b;
            break;
            defalut:break;
        }
        
        printf("%d%c%d=",a,flag,b);
        scanf("%c",&ges);
        if(ges==con) right++;
        printf("\t 正确答案是%d\n",con);
    }
    printf("回答对%d题\n",right);
    return 0;
}
追问

对题数显示错了,而且如“87*17= 正确答案是3744”就直接跳出来了,什么原因

追答

已查到到问题:

#include<stdio.h>
#include<stdlib.h>
#include <time.h>  //time函数需调用.h头文件

int main(){
  int a,b,c,con,ges,i,op,right=0;
  char flag;

  srand(time(NULL));    //其间调用了time函数
  for(i=1;i<=10;i++){
      a=rand()%10;//100 
      b=rand()%10;//100
      op=rand()%3;

      if(a-b<0){
          c=b;
          b=a;
          a=c;
      }

      switch(op){
          case 0:
              flag='+';
              con=(a+b);
              break;

          case 1:
              flag='-';
              con=(a-b);
              break;

          case 2:
              flag='*';
              con=(a*b);
              break;
    
          default:
              break;
      }
      printf("%d%c%d=/n",a,flag,b);
      scanf("%d",&ges);    //ges变量是一个整型,c%输出的是字符(c=char,字符) 

      if(ges==con){
          right++;
      }
      printf("\t正确答案是:%d\n",con);
      printf("\t你的答案是:%d\n",ges);    //你可以在你的源代码代码中加入这句话,那么得到的是一个非常大的数,而不是你输入的答案 
  }
  printf("回答对%d题\n",right);
  return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式