谁能帮我解决这道C语言题

#include<stdio.h>#include<stdlib.h>#include<time.h>main(){intxz,a,b,i,da,c,n;charzl='... #include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{
int xz,a,b,i,da,c,n;
char zl='y';
srand(time(0));
n=0;
while(zl=='y'||zl=='Y')
{
printf(" 菜单 \n");
printf("1.10加法题\n");
printf("2.10减法题\n");
printf("3.10乘法题\n");
printf("4.10除法题\n");
printf("5.退出\n");
printf("请选择相应的选项\n");
scanf("%d",&xz);
n=0;
switch(xz)
{
case 1:
for(i=1;i<=10;i++)
{
a=rand()%10;
b=rand()%10;
c=a+b;
printf("%d. %d+%d=\n",i,a,b);
scanf("%d",&da);
if(c==da) {printf("回答正确\n"); n+=1;}
else printf("回答错误\n");
}
break;
case 2:
for(i=1;i<=10;i++)
{
do{
a=rand()%10;
b=rand()%10;
c=a-b;}
while(c<0);
printf("%d. %d-%d=\n",i,a,b);
scanf("%d",&da);
if(c==da) {printf("回答正确\n"); n+=1;}
else printf("回答错误\n");}

break;
case 3:
for(i=1;i<=10;i++)
{
a=rand()%10;
b=rand()%10;
c=a*b;
printf("%d. %d*%d=\n",i,a,b);
scanf("%d",&da);
if(c==da) {printf("回答正确\n"); n+=1;}
else printf("回答错误\n");}

break;
case 4:
printf("除法");
break;
case 5:
printf("Good Bye!\n");
exit(0);
break;
default:
printf("无效指令\n");
exit(0);
break;

}
fflush(stdin);
printf("答对%d题\n",n);
printf("再来一次?(Y/N)\n");
scanf("%c",&zl);
system("cls");

}
}
帮我在case 4:那里+上10道10以内的除法题
要求:得数为小数,除数能为0
改正的话会追加50~100分
打错了 是除数不能为0
展开
 我来答
鷹弈
2010-11-03 · TA获得超过5194个赞
知道大有可为答主
回答量:1257
采纳率:0%
帮助的人:603万
展开全部
给你稍改了下,如有不明,可留言

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{
int i,num=0;
int a,b,c;
float d,d_answer;
int answer;
int choose;
char ch='Y';
srand(time(0));
while(ch=='y'||ch=='Y')
{
printf(" 菜单 \n");
printf("1.10加法题\n");
printf("2.10减法题\n");
printf("3.10乘法题\n");
printf("4.10除法题\n");
printf("5.退出\n");
printf("请选择相应的选项\n");
scanf("%d",&choose);
switch(choose)
{
case 1:
for(i=1;i<=10;i++)
{
a=rand()%10;
b=rand()%10;
c=a+b;
printf("%d. %d+%d=\n",i,a,b);
scanf("%d",&answer);
if(c==answer){printf("回答正确\n"); num++;}
else printf("回答错误\n");
}break;
case 2:
for(i=1;i<=10;i++)
{
do{
a=rand()%10;
b=rand()%10;
c=a-b;
}while(c<0);
printf("%d. %d-%d=\n",i,a,b);
scanf("%d",&answer);
if(c==answer){printf("回答正确\n"); num++;}
else printf("回答错误\n");
}break;
case 3:
for(i=1;i<=10;i++)
{
a=rand()%10;
b=rand()%10;
c=a*b;
printf("%d. %d*%d=\n",i,a,b);
scanf("%d",&answer);
if(c==answer){printf("回答正确\n"); num++;}
else printf("回答错误\n");
}break;
case 4:
for(i=1;i<=10;i++)
{
a=rand()%10;
b=rand()%10;
if(b!=0)
{
d=(float)a/b;
printf("%d. %d/%d=\n",i,a,b);
scanf("%f",&d_answer);
if(d==d_answer){printf("回答正确\n"); num++;}
else printf("回答错误\n");
}
}break;
case 5:exit(0);
default:printf("无效指令!\n");exit(0);
}
fflush(stdin);
printf("**************************************\n");
printf("答对%d题\n",num);
printf("**************************************\n");
printf("再来一次?(Y/N)\n");
scanf("%c",&ch);
system("cls");
}
}

如果对你有所帮助,请记得采纳最佳答案,谢谢!
岱鲁
2010-11-02 · TA获得超过437个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:142万
展开全部
除数能为0
???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风凰2010
2010-11-02
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
太长
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lhmhbmsy
2010-11-03 · TA获得超过145个赞
知道小有建树答主
回答量:335
采纳率:100%
帮助的人:199万
展开全部
case 4:
printf("除法");
float div,d2; //保存结果
for(i=1;i<=10;i++)
{
a=rand()%10;
b=rand()%10;
while(b==0) b=rand()%10;
div=(float)a/b;
printf("%d. %d/%d=\n",i,a,b);
scanf("%f",&d2);
if(d2==div) {printf("回答正确\n"); n+=1;}
else printf("回答错误\n");
}
break;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式