當前位置:首頁 » 編程語言 » 自解c語言

自解c語言

發布時間: 2025-01-24 19:27:08

1. 求一個用c語言編寫的能解二元一次方程組的程序,希望不要是復制粘貼別處的

/*一.關於自動解一元二次方程*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
double a,b,c,del,k;
s:
printf ("a=");scanf ("%lf",&a);
printf ("b=");scanf ("%lf",&b);
printf ("c=");scanf ("%lf",&c);
del=pow (b,2)-4*a*c;
if (a==0) if (b==0&&c==0) printf ("If you want,it can be anything~");
else if (b==0&&c!=0) {printf ("Get out,don't ask me! ");exit (0);}
else printf ("%.0lfX+%.0lf=0 X=%lf",b,c,-c/b);//a為0時為一元一次方程
else if (0==del) printf ("有唯一解:%lfX^2+%lfX+%lf=0 X=%lf",a,b,c,-b/(2*a));//del等於0
else if (0>del) printf ("無實數解!");
else printf ("%lfX^2+%lfX+%lf=0 X1=%lf X2=%lf",a,b,c,(-b+sqrt(del))/2*a,(-b-sqrt(del))/2*a);
printf (" continue?");
scanf ("%d",&k);if (k==1) goto s;
return 0;
}

2. 用c語言編程求線性方程組的解

給,下面的代碼已經編譯運行確認,肯定好用了,試試吧:)
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define
number
20
#define
esc
0x1b
#define
enter
0x0d
float
a[number][number+1]
,ark;
int
flag,n;
void
exchange(int
r,int
k);
float
max(int
k);
void
message();
int
main()
{
float
x[number];
/*此數組用於存放方程解*/
int
k,i,j;
char
celect;
system("cls");
printf("\n用gauss列主元消元法解線性方程組");
printf("\n1.解方程組請按enter.");
printf("\n2.退出程式請按esc.");
celect=getch();
if(celect==esc)
exit(0);
printf("\n
輸入方程組的維數:n=");
scanf("%d",&n);
printf("\n現在輸入系數矩陣a和向量b:");
for(i=1;i<=n;i++)
{
printf("\n請輸入a%d1--a%d%d系數和向量b%d:
\n",i,i,n,i);
/*實現將每一行中的系數和向量一次性輸入,數之間用空格格開,輸完後回車確定*/
for(j=1;j<=n+1;j++)
/*將剛才輸入的數存入數組*/
scanf("%f",&a[i][j]);
}
for(k=1;k<=n-1;k++)
{
ark=max(k);
if(ark==0)
/*判斷方程是否為線性方程,即是否合法*/
{
printf("\n此方程組不合法!");message();
}
else
if(flag!=k)
exchange(flag,k);
for(i=k+1;i<=n;i++)
for(j=k+1;j<=n+1;j++)
a[i][j]=a[i][j]-a[k][j]*a[i][k]/a[k][k];
}
x[n]=a[n][n+1]/a[n][n];
for(
k=n-1;k>=1;k--)
{
float
me=0;
for(j=k+1;j<=n;j++)
{
me=me+a[k][j]*x[j];
}
x[k]=(a[k][n+1]-me)/a[k][k];
}
for(i=1;i<=n;i++)
{
printf("\nx%d=%f",i,x[i]);
}
message();
getch();
return
1;
}
void
exchange(int
r,int
k)
/*交換行的矩函數*/
{
int
i;
for(i=1;i<=n+1;i++)
a[0][i]=a[r][i];
for(i=1;i<=n+1;i++)
a[r][i]=a[k][i];
for(i=1;i<=n+1;i++)
a[k][i]=a[0][i];
}
float
max(int
k)
/*比校系數大小的函數*/
{
int
i;
float
temp=0;
for(i=k;i<=n;i++)
if(fabs(a[i][k])>temp)
{
temp=fabs(a[i][k]);
flag=i;
}
return
temp;
}
void
message()
/*實現菜單選擇的函數*/
{
printf("\n
繼續運算按
enter
,退出程式按
esc!");
switch(getch())
{
case
enter:
main();
case
esc:
exit(0);
default:{printf("\n不合法的輸入!");message();}
}
}

3. 用C語言編寫二分法解方程程序

#include <stdio.h>
#include <math.h>
float getvalue(float x)
{
return x*x*x+4*x*x-10;
}

void main()
{

float a=1,b=1.5,c;
c=(a+b)/2;
while(fabs(getvalue(c))>0.00001 && fabs(a-b)>0.00001){
if(getvalue(c)*getvalue(b)<0) a=c;
if(getvalue(a)*getvalue(c)<0) b=c;
c=(a+b)/2;
}
printf("%0.3f\n",c);
}

4. 用C語言實現從指定的地址下載一個文件嗎,並自解壓

有兩種實現方式
1)就是用system來運行命令,比如system("wget http://abc.com/test.rar"); 然後system("unrar x test.rr");。。。。其實這種方式就和寫腳本差不多
2)如果完全自己編程,那麼就要用到各種庫文件了。比如下載你可以使用libcurl,rar解壓你可以用libunrar,輸入用戶存儲路徑,你用scanf輸入,然後根據系統的不同(windows或者linux)調用系統api來創建目錄,顯示下載進度,你可以先獲得該文件的大小,然後根據已下載的數據量和文件大小計算進度
你確定要集體的代碼嗎?

熱點內容
編程班的名稱 發布:2025-01-25 02:15:57 瀏覽:147
root鎖機序列號演算法 發布:2025-01-25 02:14:26 瀏覽:152
廣州萬科海上傳奇 發布:2025-01-25 02:13:48 瀏覽:562
空調壓縮機結霜了 發布:2025-01-25 02:01:20 瀏覽:130
怎麼給路由器設置代理伺服器 發布:2025-01-25 01:54:49 瀏覽:209
sqlserver的不等於 發布:2025-01-25 01:51:47 瀏覽:274
ftpup上傳三個文件 發布:2025-01-25 01:38:15 瀏覽:762
錄音加密忘記 發布:2025-01-25 01:37:29 瀏覽:501
閑魚賣腳本 發布:2025-01-25 01:37:24 瀏覽:157
密碼匯款在什麼區域了兌付 發布:2025-01-25 01:36:49 瀏覽:146