#includevoid get_num(float a,float b);int main(void){char ch

#include
void get_num(float a,float b);
int main(void)
{
char ch;
float m,n,s;
printf("Enter the operatioa of your choice:n");
printf("a.add b.subtractn"
"c.multiply d.dividen"
"q.quitn");
scanf("%c",&ch);
while(ch!='q')
{
switch(ch)
{
case 'a':
get_num(m,n);
s=m+n;
printf("%f+%f=%fn",m,n,s);
break;
case'b':
get_num(m,n);
s=m-n;
printf("%f-%f=%fn",m,n,s);
break;
case'c':
get_num(m,n);
s=m*n;
printf("%f*%f=%fn",m,n,s);
break;
case'd':
get_num(m,n);
s=m/n;
printf("%f/%f=%fn",m,n,s);
break;
default:
printf("Input error!n");
break;
}
}
printf("Bye.n");
return 0;
}
void get_num(float a,float b)
{
printf("Enter first number:");
scanf("%f",&a);
printf("nEnter second number:");
scanf("%f",&b);
if(a=0)
{
printf("Enter a number other than 0:");
scanf("%f",&a);
}
if(b=0)
{
printf("Enter a number other than 0:");
scanf("%f",&b);
}
if(scanf("%f",&a)!=1)
{
printf("%c is not an number.n",a);
printf("Please enter a number,such as 10 ,22,2.9:");
scanf("%f",&a);
}
if(scanf("%f",&b)!=1)
{
printf("%c is not an number.n",b);
printf("Please enter a number,such as 10 ,22,2.9:");
scanf("%f",&b);
}
}
输入第三个后开始就不行了.请问哪错了谢谢
额.回答时.如果能运行一下看看结果就更好了.能够讲的白点.
841021841021 1年前 已收到1个回答 举报

飞越一郎 幼苗

共回答了22个问题采纳率:86.4% 举报

是用C进行,四则运算吧:
这里给你两个源码:
第一段程序:是我自己写的
第二段是完善了你的程序:
////////////////////第一段//////////////////////////
#include "stdio.h"
main()
{
float a,b;
int op;
while(1)
{
printf("Input a:");
scanf("%f",&a); //输入a
printf("Input b:");
scanf("%f",&b); //输入b
//-----输出提示信息----------
printf("Select Operator:n");
printf("+ Input 1n");
printf("- Input 2n");
printf("* Input 3n");
printf("\ Input 4n");
printf("Please Select:");
//-----输入操作符------------
scanf("%d",&op);
//-----对操作符进行判断------
switch(op)
{
case 1:// +
printf("a+b=%fn",a+b);
break;
case 2:// -
printf("a-b=%fn",a-b);
break;
case 3:// 乘
printf("a*b=%fn",a*b);
break;
case 4:// 除
printf("a//b=%fn",a/b);
break;
}
printf("n");//再换一个行,以便下次输入
}
}
/////////////////第二段,完善你的程序/////////////////////
#include
#include
void get_num(float *a,float *b);
int main(void)
{
char ch;
float m,n,s;
while(ch!='q')
{
printf("Enter the operatioa of your choice:n");
printf("-----------------------n");
printf("a.add b.subtractn");
printf("c.multiply d.dividen");
printf("q.quitn");
printf("-----------------------n");
printf("Please Select:");
scanf("%c",&ch);
switch(ch)
{
case 'a':
get_num(&m,&n);
s=m+n;
printf("%f+%f=%fn",m,n,s);
break;
case'b':
get_num(&m,&n);
s=m-n;
printf("%f-%f=%fn",m,n,s);
break;
case'c':
get_num(&m,&n);
s=m*n;
printf("%f*%f=%fn",m,n,s);
break;
case'd':
get_num(&m,&n);
s=m/n;
printf("%f/%f=%fn",m,n,s);
break;
case 'q':
system("cls");
printf("Bye.n");
return 0;
default:
printf("Input error!n");
break;
}
system("pause");//暂停,以便看得数
system("cls"); //清屏
getchar();
}
return 0;
}
void get_num(float *a,float *b)
{
printf("Enter first number:");
scanf("%f",a);
printf("nEnter second number:");
scanf("%f",b);
if(*a==0)
{
printf("Enter a number other than 0:");
scanf("%f",a);
}
if(*b==0)
{
printf("Enter a number other than 0:");
scanf("%f",b);
}
}

1年前

10
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.110 s. - webmaster@yulucn.com