| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1185 人关注过本帖
标题:求助大佬帮忙,非常感谢
取消只看楼主 加入收藏
guangfeili79
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2022-9-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
求助大佬帮忙,非常感谢
我程序的要求是:
1、a、b、c输入数字,
2、检测a=0,显示错误信息,并询问是否重新输入,回答y 后重新输入a、b、c ;回答n 程序结束跳出。
3、检测b^2-4ac是否小于等于0,如果小于等于0显示错误信息,并询问是否重新输入,回答y 后重新输入a、b、c ;回答n 程序结束跳出。
4、a不等于0和b^2-4ac大于0两个条件满足后,计算并输出结果。

调试一直出问题,请各位老大帮忙,非常感谢。

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>

void main(void)
{
float a,b,c,x_1,x_2,sqr;
char bgain;
while (bgain,a==0)
 {
    printf("enter a:");
    scanf("%f",&a);
    printf("enter b:");
    scanf("%f",&b);
    printf("enter c:");
    scanf("%f",&c);
   
    if(a==0)
     {
      printf("Not a quadratic equation\n");
      printf("Is the a re-entered?y/n: \n");
      scanf("%s",&bgain);
       if (bgain=='y')
       {   
       main();
       }
       else
       {
       printf("Bay Bay\n");
       }
     }
     
    else ((pow(b,2)-4*a*c)<=0);
     {
      printf("Not real roots\n");
      printf("Is it re-entered?y/n\n");
      scanf("%s",&bgain);
       if (bgain=='y')
       {   
       main();
       }
       else
       {
       printf("Bay Bay\n");
       }
     }

 }
    x_1=(-b-(sqrt(pow(b,2))-4*a*c))/(2*a);
    x_2=(-b-(sqrt(pow(b,2))-4*a*c))/(2*a);
    printf(" a: %f \n b: %f \n c: %f \n x_1: %f \n x_2: %f \n",a,b,c,x_1,x_2);
}   
   

[此贴子已经被作者于2022-9-24 19:59编辑过]

搜索更多相关主题的帖子: 重新 scanf include printf 输入 
2022-09-24 19:12
guangfeili79
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2022-9-24
收藏
得分:0 
非常感谢两位老大的帮助,rjsp老大的代码非常好,但我需要第一种方案,非常感谢您;apull老大您给的代码运行后还有问题,我输入 0 1 2后就直接退出了

enter a:0
enter b:1
enter c:2
Not a quadratic equation
Is the a re-entered?y/n:
Bay Bay


...Program finished with exit code 0
Press ENTER to exit console.

[此贴子已经被作者于2022-9-26 17:27编辑过]

2022-09-26 17:06
guangfeili79
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2022-9-24
收藏
得分:0 
修改完了,可以运行了,非常感谢两位老大

程序代码:
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
    float a, b, c, x_1, x_2, sqr; //
    char bgain;
    while (1) //(bgain, a == 0) 2个变量没有初始化,不能直接用。
    {
        printf("enter a:");
        scanf("%f", &a);
        printf("enter b:");
        scanf("%f", &b);
        printf("enter c:");
        scanf("%f", &c);

        if (a == 0)
        {
            printf("Not a quadratic equation\n");
            printf("Is the a re-entered?y/n: \n");
            //fflush(stdin);
           scanf("%s", &bgain); //bgain = getchar(); 
            if (bgain == 'y')
            {
                // main(); main就不要递归调用了。
                continue; //重新开始循环
            }
            else
            {
                printf("Bay Bay\n");
                return 0; //退出程序
            }
        }
       // else
        //sqr = pow(b, 2) - 4 * a * c;
        else if (b*b <= 4*a*c)
        {
            printf("Not real roots\n");
            printf("Is it re-entered?y/n\n");
            //fflush(stdin);
           scanf("%s", &bgain); //bgain = getchar(); 
            if (bgain == 'y')
            {
                continue;
            }
            else
            {
                printf("Bay Bay\n");
                return 0;
            }
        }
        else
            break; //跳出循环继续程序
    }

    x_1 = (-b + sqrt(sqr)) / (2 * a);
    x_2 = (-b - sqrt(sqr)) / (2 * a);
    printf(" a: %f \n b: %f \n c: %f \n x_1: %f \n x_2: %f \n", a, b, c, x_1, x_2);

    return 0;
}
2022-09-26 17:39
快速回复:求助大佬帮忙,非常感谢
数据加载中...
 
   



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

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