C语言编写一个简单计算器的的问题,希望各位高手能帮我解答解答!感谢!

2024-12-21 11:52:17
推荐回答(4个)
回答1:

改为这样子就可以得到楼主想要的要求了,i=7的时候是退出循环,1-6功能分别是:加减乘除,求余,n次乘方,在VC下运行通过
#include
#include
int jiafa(int a,int b);
int jianfa(int a,int b);
int chengfa(int a,int b);
int chufa(int a,int b);
int quyu(int a,int b);
int ncifang(int a,int b);
void main()
{
printf("____________________________________\n");
printf("| |\n");
printf("| 1jiafa 4chufa |\n");
printf("| |\n");
printf("| 2jianfa 5qiuyu |\n");
printf("| |\n");
printf("| 3chengfa 6ncifang |\n");
printf("| |\n");
printf("| 7退出 |\n");
printf("|___________________________________|\n");

int i;

scanf("%d",&i);
getchar();
if(i==1)
{
int a,b,jieguo;
printf("请输入a,b的值:");
scanf("%d,%d",&a,&b);
jieguo=jiafa(a,b);
printf("%d\n",jieguo);
}
if(i==2)
{
int a,b,jieguo;
printf("请输入a,b的值:");
scanf("%d,%d",&a,&b);
jieguo=jianfa(a,b);
printf("%d\n",jieguo);
}
if(i==3)
{
int a,b,jieguo;
printf("请输入a,b的值:");
scanf("%d,%d",&a,&b);
jieguo=chengfa(a,b);
printf("%d\n",jieguo);
}
if(i==4)
{
int a,b,jieguo;
printf("请输入a,b的值:");
scanf("%d,%d",&a,&b);
jieguo=chufa(a,b);
printf("%d\n",jieguo);
}
if(i==5)
{
int a,b,jieguo;
printf("请输入a,b的值:");
scanf("%d,%d",&a,&b);
jieguo=quyu(a,b);
printf("%d\n",jieguo);
}
if(i==6)
{
int a,b,jieguo;
printf("请输入a,b的值:");
scanf("%d,%d",&a,&b);
jieguo=ncifang(a,b);
printf("%d\n",jieguo);
}
if(i==7)
{
printf("\n");
exit(0);
}

}
int jiafa(int a,int b)
{
int c=0;
c=a+b;
return c;
}
int jianfa(int a,int b)
{
int c;
c=a-b;
return c;
}
int chengfa(int a,int b)
{
int c;
c=a*b;
return c;
}
int chufa(int a,int b)
{
int c;
c=a/b;
return c;
}
int quyu(int a,int b)
{
int c;
c=a%b;
return c;
}
int ncifang(int a,int b)
{
int c;
c=a;
for(int i=0;i {
c*=a;
}
return c;
}

回答2:

函数要先在main之前声明,要有返回类型,形参要有类型;
你要的一直循环可用for(;;);
初学者,看来是自己设计的,虽然。。。。值得鼓励
随便改了下。
#include
int main()
{
printf("_____________________________________\n");
printf("| |\n");
printf("| 1jiafa 4chufa |\n");
printf("| |\n");
printf("| 2jianfa 5qiuyu |\n");
printf("| |\n");
printf("| 3chengfa 6ncifang |\n");
printf("| |\n");
printf("| 7exit |\n");
printf("|___________________________________|\n");

int i;
int a=0,b=0,jieguo=0;
for(;;)
{
printf("请选择运算:");
scanf("%d",&i);
if(i==6) return 0;

printf("请输入a,b的值:");
scanf("%d,%d",&a,&b);
switch(i)
{
case 1: jieguo=a+b;break;
case 2: jieguo=a-b;break;
case 3: jieguo=a*b;break;
case 4: jieguo=a/b;break;
case 5: jieguo=a%b;break;
default: return 0;
}

printf("%d\n",jieguo);
}

return 0;
}

回答3:

首先函数要先在main之前声明
其次要有返回类型,形参要有类型;
我简单些改了一下:

#include
int main()
{
printf("_____________________________________\n");
printf("| |\n");
printf("| 1jiafa 4chufa |\n");
printf("| |\n");
printf("| 2jianfa 5qiuyu |\n");
printf("| |\n");
printf("| 3chengfa 6ncifang |\n");
printf("| |\n");
printf("| 7exit |\n");
printf("|___________________________________|\n");

int i;
int a=0,b=0,jieguo=0;
for(i=0;i<7;i++)
{
printf("请选择运算:");
scanf("%d",&i);
if(i==6) return 0;

printf("请输入a,b的值:");
scanf("%d,%d",&a,&b);
switch(i) {
case 1: jieguo=a+b;break;
case 2: jieguo=a-b;break;
case 3: jieguo=a*b;break;
case 4: jieguo=a/b;break;
case 5: jieguo=a%b;break;
default: return 0;
}

printf("%d\n",jieguo);
}

return 0;
}

回答4:

用while(1){}循环控制