⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.c

📁 实现求解二次方程的程序
💻 C
字号:
 #include"stdio.h"
 #include "string.h"
 #include "math.h"
#include <cstdlib>
 int flag;
  void password()
 {int i;
 char pwd[]="YuYang";
 char *pwds;
pwds=malloc(7*sizeof(char));
 printf ("************************************************************\n");
 printf ("  班级:电测07-1班   姓名:于洋     学号:1    密码:YuYang\n");

 printf ("************************************************************\n");

 for (i=1;i<=3;i++)
 {printf("  请输入密码:");
 scanf("%s",pwds);

    if (strcmp(pwd,pwds)==0)
    break;
    else
    printf("  密码有误!\n");
  }
    if (i==4)
    {printf("  您已经连续输入三次错误密码,程序将退出!\n");
    flag=20;}
  }


 void fun1()
 { float a,b,c,x1,x2,dlt;char w;
    do
    {printf("------------------------------------------\n");
    printf("  请输入二次项系数,若为0则返回主菜单\n");
    scanf("%c",&w);
    printf("  a=?\n");
    scanf("%f",&a);
     if(a!=0)
     {printf("  b=?\n");
     scanf("%f",&b);
      printf("  c=?\n");
      scanf("%f",&c);
      dlt=b*b-4*a*c;
      if(dlt<0)

      printf("  该方程无解!\n");
       else if(dlt==0)
        {x1=(-b)/(2*a);

         printf("  x1=x2=%f\n",x1);
        }
        else
       {x1=((-b)+sqrt(dlt))/ (2*a);
       x2=((-b)-sqrt(dlt)) /(2*a);

        printf("  x1=%f,x2=%f\n",x1,x2);
        }

      }
      }
      while(a!=0);
  }


void fun2()
 { float a[2][3],hang,hang1,hang2,x,y;int h;char w;

 do
 {printf("------------------------------------------------\n");
 printf("  ax+by=e\n");
  printf("  cx+dy=f\n");
  scanf("%c",&w);
  printf("  a=?");

  scanf("%f",&a[0][0]);
   printf("  b=?");
  scanf("%f",&a[0][1]);

   printf("  e=?");
   scanf("%f",&a[0][2]);
    printf("  c=?");
    scanf("%f",&a[1][0]);
     printf("  d=?");
     scanf("%f",&a[1][1]);
      printf("  f=?");
      scanf("%f",&a[1][2]);
      hang=a[0][0]*a[1][1]-a[0][1]*a[1][0];

      if(hang==0)

       printf("  该方程不合法!\n");
       else
       {hang1=a[0][2]*a[1][1]-a[1][2]*a[0][1];
       hang2=a[1][2]*a[0][0]-a[0][2]*a[1][0];
       x=hang1/hang;
       y=hang2/hang;

    printf("x=%f\n",x);
    printf("y=%f\n",y);
    }
    printf("******************************************\n");
    printf("  返回主菜单请输入0,继续请输入其他数字键!\n");
    scanf("%d",&h);
    printf("******************************************\n");
    if(h==0)
    break;

  }
  while(1);
 }


main()

{int en=1;
 int aa;
 char p;
 void password();
 password();
 if(flag!=20)
{do
{printf("----------------------请选择所需要求解方程种类--------------------\n");
 printf("                      1.一元二次方程                           \n");
 printf("                      2.二元一次方程\n");
 printf("                      3.退出程序\n  ");
 scanf("%c",p);
scanf("%d",&aa);

switch (aa)
{case 1: fun1();break;
 case 2: fun2();break;
 case 3: en=0;break;
 default:{printf("输入有误,请重新输入!\n") ;
 printf("********************************\n");}
 }
 }
while(en);
 }
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -