① c語言求解2元一次方程根,我的全部是無解,求大神看是哪錯了。
//問題有點多,不方便指出鏈逗燃,更改如下,對應著看吧,調試過的,沒問題;
#include<stdio.h>
#include<math.h> //使用開方函數要引入這個頭文件
void main()
{
float a,b,c,d,e,x1,x2,x;
//輸入最好一指頌個一個輸入棚虛,一下子輸入容易出毛病
printf("請輸入a:\n");
scanf("%f",&a);
printf("請輸入b:\n");
scanf("%f",&b);
printf("請輸入c:\n");
scanf("%f",&c);
d=b*b-4*a*c;
if (d>0)
{
e=(float)sqrt(d);//使用開放函數得到的是double類型,比float級別高,要強轉為float
x1=(-b+e)/(2*a);
x2=(-b-e)/(2*a);
printf("x1=%.2f,x2=%.2f",x1,x2);//輸出保留兩位小數
}
else if (d==0)
{
x=-b/(2*a);
printf("x=%.2f",x);
}
else
printf("無解");
printf("\n");
}
② 用C語言怎麼打雞兔同籠
#include<stdio.h>
int main()
{ int f,i;
scanf("%d",&f);
printf("雞 兔 ");
for(i=1;i<f/4;i++)
printf("%d %d ",(f-4*i)/2,i);
return 0;
}
③ c語言編程
#include<stdio.h>
#include<cmath>
int main(){
double a, b, c;
double x1,x2,d;
scanf("%lf %lf %lf",&a,&b,&c);
if(a == 0 && b == 0 && c == 0)printf("無窮解\n");
d = b*b - 4*a*c;
if(d < 0)printf("無解\n");
else if(d == 0){
x1 = x2 = -b/(2*a);
printf("一個解: %lf\n",x1);
else{
if(a == 0)printf("方程為一次方程!解為%lf\n",(-c)/b);
else{
x1 = (-b + sqrt(d))/2*a;
x2 = (-b - sqrt(d))/2*a;
printf("兩個解,分別為: %lf,%lf\n",x1,x2);
}
}
return 0;
}
④ 有36頭豬,每天殺單數頭,分九天殺完,怎麼用C++或C語言程序證明無解
一、窮舉演算法:
窮舉每天殺豬數,若最後9天殺不完或提派純亂早殺完則證明無解。
利用遞歸完成:
#include <stdio.h>褲輪
//PIG頭豬,分DAY天殺完,每天殺單數頭
const int DAY=9;
const int PIG=36;
bool DFS(int day,int remain) //第day天剩下remain只豬,若最後能殺完則返回1,否則返回0
{
if(day>DAY) //如果塵檔DAY天已過,剩餘0隻返回1,即能殺完,否則返回0
return remain==0;
int i;
for(i=1;i<=remain;i+=2) //窮舉第day天殺豬的頭數i(i為奇數)
if(DFS(day+1,remain-i))//當第day+1天剩下remain-i頭豬,而最後能殺完所有豬時,返回1
return 1;
return 0; //若各種情況都不能則返回0
}
int main()
{
if(DFS(1,PIG)) //第一天剩下PIG頭豬能否殺完
puts("有解");
else
puts("無解");
getchar();
return 0;
}
二、推出數學關系式求解
設第i天殺ki頭豬
則DAY天中共殺 k1+k2+k3+...+kDAY頭豬
假設DAY天能殺完PIG頭豬
則有 k1+k2+k3+...+kDAY==PIG (1)
因為每天殺奇數頭豬,不妨設ki=2*pi+1 (pi>=0) (2)
則由(1)(2)得 PIG==2*(p1+p2+p3+...+pDAY)+DAY
顯然如果等式成立,則PIG與DAY奇偶性相同
即
PIG%2==DAY%2
#include <stdio.h>
const int DAY=9;
const int PIG=36;
int main()
{
if(PIG%2==DAY%2)
puts("有解");
else
puts("無解");
getchar();
return 0;
}
⑤ C語言求二元一次方程,看不懂咩,哪位高手解釋一下啦啦啦啦!!!!(詳細一點的)
第一處:將a、b的值替換為d的值。
第二處:as數列中的第一個數(最小的數)為1,下一行同上。下面那個問號就是兩個方程而已。
第三個是將T的值替換為它的相反數。
第四個是兩個類似方程y=kx的東西,輸入數值的。
沒了。
四處分別是三個問號和一個看不懂的地方,按照順序排的。
⑥ 如果無解,則輸出"No answer"[C語言]
用if來判斷,當然,如果你的m和n沒有申明的話是沒法運行的
⑦ 求大神教我這個c語言怎麼打。
#include<stdio.h>
#include<math.h>
升埋和
intmain()
{
printf("abc的數值: ");
floata,b,c;
scanf("%g%g%g",&a,&b,&c);
floatdt=b*b-4*a*c;
if(dt<0)
printf("無解");
elseif(dt==0)
{
floatx=(-b+sqrt(dt))/2*a;
printf("一個根%g",x);
}
else
{
液枝floatx1=(-b+sqrt(dt))/2*a;
floatx2=(-b-sqrt(dt))/2*a;
printf("兩個根%g和%g",x1,x2);
}
return吵盯0;
}
⑧ c語言 雞兔同籠
#include<stdio.h>
voidmain()
{inta,b,c,d;
printf("這是一個用於算雞兔同籠的小程序 請輸入雞兔的總數");
scanf("%d",&a);
if(a>=0)
{
printf(" 請輸入雞兔腳的總數");
scanf("%d",&b);
if(b%2==1)
printf("腳的數量出現奇數,真奇怪啊! ");
elseif(b<=a*4&&b>=a*2)
{
c=(4*a-b)/2;//雞的數目
d=a-c;//兔的數目
if(c*2+d*4==b)
printf("雞有%ld只 兔有%ld只 ",c,d);//c和d反了
else
printf("這個真難,計算機也沒法算! ");
}
else
printf("輸入雞兔腳的數量范圍不正確,正確的范圍是%d--%d! ",a*2,a*4);
}
else
printf("數量不能為負! ");
}