标题:[求助]switch的一个问题
只看楼主
yjbqq
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2006-10-10
 问题点数:0 回复次数:5 
[求助]switch的一个问题

#include<stdio.h>

int main()
{
int a;
float C, F;
printf("Want C to F, please input 1!\n");
printf("Want F to C, please input 2! \n");
scanf("%d",&a);

switch(a)
{
case 1:
{printf("Plesse input C:\n");
scanf("%f",&C);
F=(9.0/5.0)*C+32.0;
printf("The F is:%g\n",F);}
break;
case 2:
{
printf("Please input F:");
scanf("%f",&F);
C=(5.0/9.0)*(F-32.0);
printf("The C is:%g\n",C);}
break;
default:
printf("Input error!\n");
}
return 0;
}
什么这个程序,如果要在输入非1和2的时候重新回到
printf("Want C to F,please input 1!");这里,不用goto,应该怎样改啊?

搜索更多相关主题的帖子: switch 
2006-10-17 17:05
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
得分:0 

#include<stdio.h>

int main()
{
int a;
float C, F;
printf("Want C to F, please input 1!\n");
do{
printf("Want F to C, please input 2! \n");
scanf("%d",&a);

switch(a)
{
case 1:
{printf("Plesse input C:\n");
scanf("%f",&C);
F=(9.0/5.0)*C+32.0;
printf("The F is:%g\n",F);}
break;
case 2:
{
printf("Please input F:");
scanf("%f",&F);
C=(5.0/9.0)*(F-32.0);
printf("The C is:%g\n",C);}
break;
default:
printf("Input error!\n");
}
}while(a);
return 0;
}


谁有强殖装甲第二部,可以Q我460054868
2006-10-17 17:36
fans
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-9-4
得分:0 
没明白楼主说什么,真不好意思.[ 什么这个程序,如果要在输入非1和2的时候重新回到
printf("Want C to F,please input 1!");这里,不用goto,应该怎样改啊?],这段是问?

是不是要在输入非1和2的时候,重新回到printf("Want C to F,please input 1!");这里?

可以在外面加个do,while语句.

[此贴子已经被作者于2006-10-22 0:04:57编辑过]

2006-10-21 23:59
fans
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-9-4
得分:0 

#include<stdio.h>

int main()
{
int a;
float C, F;
do
{
printf("Want C to F, please input 1!\n");
printf("Want F to C, please input 2! \n");
scanf("%d",&a);

switch(a)
{
case 1:
{
printf("Plesse input C:\n");
scanf("%f",&C);
F=(9.0/5.0)*C+32.0;
printf("The F is:%g\n",F);
}
break;
case 2:
{
printf("Please input F:");
scanf("%f",&F);
C=(5.0/9.0)*(F-32.0);
printf("The C is:%g\n",C);
}
break;
default:
printf("Input error!\n");
}
}
while (a != 1 && a != 2);
return 0;
}

不知道对不对,第一次发回贴,请大家多多指教.

2006-10-22 00:13
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
以下是引用fans在2006-10-22 0:13:50的发言:

#include<stdio.h>

int main()
{
int a;
float C, F;
do
{
printf("Want C to F, please input 1!\n");
printf("Want F to C, please input 2! \n");
scanf("%d",&a);

switch(a)
{
case 1:
{
printf("Plesse input C:\n");
scanf("%f",&C);
F=(9.0/5.0)*C+32.0;
printf("The F is:%g\n",F);
}
break;
case 2:
{
printf("Please input F:");
scanf("%f",&F);
C=(5.0/9.0)*(F-32.0);
printf("The C is:%g\n",C);
}
break;
default:
printf("Input error!\n");
}
}
while (a == 1 ||a == 2);//如果像你那样a!= 1&&a!=2,那么输入2的时候就会结束循环.
return 0;
}

不知道对不对,第一次发回贴,请大家多多指教.

写的很好啊,只有一点小错误.


倚天照海花无数,流水高山心自知。
2006-10-22 10:49
fans
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-9-4
得分:0 
以下是引用nuciewth在2006-10-22 10:49:20的发言:

写的很好啊,只有一点小错误.

十分感谢,写的时候没注意。疏忽了。我初学c语言,请大家多多关照。谢谢~~~

2006-10-22 12:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-96946-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.507221 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved