用while或者do-while 都可以
我用do写了一下
# include
void main ()
{
float a,b,r;
char c;
char ch='n';
do{
scanf("%f%c%f",&a,&c,&b);
switch (c)
{
case '+': r=a+b;printf("result=%f\n",r);break;
case '-': r=a-b;printf("result=%f\n",r);break;
case '*': r=a*b;printf("result=%f\n",r);break;
}
if (c=='/')
{
if (b==0)
printf("Error!!\n");
else
{
r=a/b;
printf("result=%f\n",r);
}
}
printf("Do you want to continue?,(y/Y)" );
scanf("%c",&ch);
}while (ch=='y'||ch=='Y');
}
int k=1
while(k)
{
char tmp;
printf("do you want to continue ?\n");
scanf("%c",&tmp)
if(!strcmp(tmp,'n'))
{k=0;continue;}
……
}
套了个循环:
# include
# include
void main ()
{
float a,b,r;
char c,tmp;
do
{
scanf("%f%c%f",&a,&c,&b);
switch (c)
{
case '+': r=a+b;printf("result=%f\n",r);break;
case '-': r=a-b;printf("result=%f\n",r);break;
case '*': r=a*b;printf("result=%f\n",r);break;
}
if (c=='/')
{
if (b==0)
printf("Error!!\n");
else
{
r=a/b;
printf("result=%f\n",r);
}
}
printf("do you want to continue ?\n");
scanf("%c",&tmp); }
while(!strcmp(tmp,'y');)
}
或者在最后加个goto语句:
# include
# include
void main ()
{
float a,b,r;
char c,tmp;
loop: scanf("%f%c%f",&a,&c,&b);
switch (c)
{
case '+': r=a+b;printf("result=%f\n",r);break;
case '-': r=a-b;printf("result=%f\n",r);break;
case '*': r=a*b;printf("result=%f\n",r);break;
}
if (c=='/')
{
if (b==0)
printf("Error!!\n");
else
{
r=a/b;
printf("result=%f\n",r);
}
}
printf("do you want to continue ?\n");
scanf("%c",&tmp);
if(!strcmp(tmp,'y')goto loop;
}
你把你的计算程序套入一个WHILE(1)循环中
循环结尾出CIN>>一个char
然后判断char 是N就break
是Y就继续循环!