如何解决我这个C语言编程的问题?

这是个C语言编程的问题,想请问下,怎样在运行了一次后出现Do you want to continue?,y 或Y就继续计算,n或N就退出程序?谢谢各位了!!
以下是我编的程序:
# include <stdio.h>
void main ()
{
float a,b,r;
char c;
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);
}
}
}

用while或者do-while 都可以
我用do写了一下
# include <stdio.h>
  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');
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-15
int k=1
while(k)
{
char tmp;
printf("do you want to continue ?\n");
scanf("%c",&tmp)
if(!strcmp(tmp,'n'))
{k=0;continue;}
……
}
第2个回答  2008-04-15
套了个循环:
# include <string.h>
# include <stdio.h>
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 <string.h>
# include <stdio.h>
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;
}
第3个回答  2008-04-15
你把你的计算程序套入一个WHILE(1)循环中
循环结尾出CIN>>一个char
然后判断char 是N就break
是Y就继续循环!

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网