C 语言高人进!!- -
答案:4 悬赏:80 手机版
解决时间 2021-03-11 04:39
- 提问者网友:遮云壑
- 2021-03-10 06:53
C 语言高人进!!- -
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-03-10 07:47
#include
#include
void main()
{
double a,b,c,x1,x2,gen;
int bool=1;
char str[1]={0};
while (bool==1)
{printf("Begin?(y/n)");
gets(str);
if (str[0]=='y'){
printf("Input a,b,c:\n");
scanf("%le%le%le",&a,&b,&c);
gen=b*b-4*a*c;
if (gen<0) {printf("Fang Chen Wu Shi Shu Jie.");break;}
else
{x1=(-b+sqrt(gen))/2/a;
x2=(-b-sqrt(gen))/2/a;
printf("\nx1=%le\nx2=%le\n",x1,x2);break;}}
if (str[0]=='n') bool=0;}
}
我把程序 给你改了,单个字符只能用''不能用双引号,还有你那个(str=="y")也有问题,str是地址呀,怎么能和y相等呢??
我是在VC6.0下运行的,我不知道你的运行环境是什么!!!
#include
void main()
{
double a,b,c,x1,x2,gen;
int bool=1;
char str[1]={0};
while (bool==1)
{printf("Begin?(y/n)");
gets(str);
if (str[0]=='y'){
printf("Input a,b,c:\n");
scanf("%le%le%le",&a,&b,&c);
gen=b*b-4*a*c;
if (gen<0) {printf("Fang Chen Wu Shi Shu Jie.");break;}
else
{x1=(-b+sqrt(gen))/2/a;
x2=(-b-sqrt(gen))/2/a;
printf("\nx1=%le\nx2=%le\n",x1,x2);break;}}
if (str[0]=='n') bool=0;}
}
我把程序 给你改了,单个字符只能用''不能用双引号,还有你那个(str=="y")也有问题,str是地址呀,怎么能和y相等呢??
我是在VC6.0下运行的,我不知道你的运行环境是什么!!!
全部回答
- 1楼网友:梦中风几里
- 2021-03-10 11:05
#include
#include;
main()
{
double a,b,c,x1,x2,gen;
//int bool=1;
int tru=1;
char str;
while (tru==1)
{
printf("Begin?(y/n)");
//getchar(str);
scanf("%c",&str);
if (str=='y')
{
printf("Input a,b,c:\n");
scanf("%le%le%le",&a,&b,&c);
gen=b*b-4*a*c;
if (gen<0)
printf("Fang Chen Wu Shi Shu Jie.");
else
{
x1=(-b+sqrt(gen))/2/a;
x2=(-b-sqrt(gen))/2/a;
printf("\nx1=%le\nx2=%le/n",x1,x2);
}
}
if (str=='n') tru=0;
}
}
首先,BOOL是保留字不能做变量。
字符串比较不能用==,有函数的,是strcmp()
#include
main()
{
double a,b,c,x1,x2,gen;
//int bool=1;
int tru=1;
char str;
while (tru==1)
{
printf("Begin?(y/n)");
//getchar(str);
scanf("%c",&str);
if (str=='y')
{
printf("Input a,b,c:\n");
scanf("%le%le%le",&a,&b,&c);
gen=b*b-4*a*c;
if (gen<0)
printf("Fang Chen Wu Shi Shu Jie.");
else
{
x1=(-b+sqrt(gen))/2/a;
x2=(-b-sqrt(gen))/2/a;
printf("\nx1=%le\nx2=%le/n",x1,x2);
}
}
if (str=='n') tru=0;
}
}
首先,BOOL是保留字不能做变量。
字符串比较不能用==,有函数的,是strcmp()
- 2楼网友:时间的尘埃
- 2021-03-10 09:45
把printf放在循环外面
而且str=='y'
而且str=='y'
- 3楼网友:孤独的牧羊人
- 2021-03-10 08:06
if (str=='y')试试
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯