當前位置:首頁 » 編程語言 » c語言怎樣輸入一個方程式
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎樣輸入一個方程式

發布時間: 2022-09-30 18:10:32

『壹』 c語言從鍵盤輸入求方程根.

%1f寫錯了——float型時用%f,double型時用%lf。是LF的小寫,你寫成1f了。寫成%1f後被解釋為只接收一個數字的浮點型,即0~9,所以即便是float型,輸入兩位以上數字就要出錯。

『貳』 c語言輸入一個一元一次方程顯示答案的程序

我這個程序只能接受ax+b=c這種形式的方程.
其中,a=1時可以省略,+b也可以省略.a,b,c不能為表達式,必須為確定的浮點數.
a不能為0

#include "stdio.h"
#include "stdlib.h"
void main()
{
float a,b,c;
int i,j;
char str[81];

gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]=='x' || str[i]=='X')
break;
if(str[i]=='\0') printf("error!\n");
if(i==0) a=1;
else a=atof(str);
if(a==0)
{
printf("a mustn't be zero!\n");
exit(1);
}
if(str[++i]=='=')
{
b=0;
c=atof(str+i+1);
}
else
{
if(str[i]=='+') i++;
for(j=i;str[j]!='\0';j++)
if(str[j]=='=') break;
b=atof(str+i);
c=atof(str+j+1);
}
printf("x=%f\n",(c-b)/a);
}

『叄』 怎麼用C語言的輸入一個數學式子可以得到結果,如input:3+4 output:7,輸入的式子可以的加減乘除這些簡單的運

這個設計到優先順序 要棧處理
下面這個程序 輸入0結束
輸入其它的+-*/運算式 輸出結果
但是字元與字元間有空格 不然要出錯
比如輸入1 + 2
或者 + 2 * 5 - 7 / 11
注意有空格
#include <iostream>
#include <stack>
#include <string>
#include <string.h>
using namespace std;

int main(){
char ch[210];
int len,i,j;
double n,m,k;

while (cin.getline(ch,210))
{
len = strlen(ch);
if(len==1&&'0' == ch[0])break;

stack<double>s1;
stack<char>s2;
i=0,k=0;
while (i<len)
{
if (' '== ch[i]){
i++;
continue;
}
else if ('0'<=ch[i] && '9'>=ch[i])
{
k = 0;
k = k*10 + ch[i]-'0';
i++;
while ('0'<=ch[i] &&'9'>=ch[i]&&i<len)
{
k = k*10 + ch[i]-'0';
i++;
}
s1.push(k);
k =0;
}
else
{
if ('*'==ch[i] || '/'==ch[i])
{
j =i;
n = s1.top(),s1.pop();
i++;
i++;
k = 0;
while ('0'<=ch[i] && '9'>=ch[i]&&i<len)
{
k = k*10 + ch[i]-'0';
i++;
}
if ('*'==ch[j])
{
k = k*n;
}else{
k = n/k;
}
s1.push(k);
}
else if('+'==ch[i] || '-'==ch[i])
{
s2.push(ch[i]);
i++;
}
}
}

char str, str2;
while (!s2.empty())
{
str = s2.top();
s2.pop();
k = s1.top(),s1.pop();
if ('+' == str)
{
n = s1.top();s1.pop();
if (!s2.empty())
{
str2 = s2.top();

if ('-' == str2)
{
k = n - k;
}else{
k = k + n;
}
}else
k = k + n;
// cout<<k<<endl;
s1.push(k);
}else{
n = s1.top();s1.pop();
if (!s2.empty())
{
str2 = s2.top();
if ('-' == str2)
{
k = k + n;
}else{
k = n - k;
}
}else
k = n - k;
s1.push(k);
}
}
printf("%0.2lf\n",s1.top());s1.pop();
}
return 0;
}

『肆』 怎麼利用C語言解方程

#include"math.h"
typedefstruct{
double*coef;
intn;
}poly;
doubledfx(poly*p,doublev){
doublet=v;
doubler=0;
double*coef=p->coef;
inti;
r+=coef[1];
for(i=2;i<p->n;i++){
r+=coef[i]*i*t;
t*=v;
}
returnr;
}
doublefx(poly*p,doublev){
doublet=v;
doubler=0;
double*coef=p->coef;
inti;
r+=coef[0];
for(i=1;i<p->n;i++){
r+=coef[i]*t;
t*=v;
}
returnr;
}
doublepolyroot(poly*p,doublex0){
doublex=x0-1;
intn=0;
while(fabs(x-x0)>1e-12&&n++<100){
doubledx0=dfx(p,x0);
x=x0;
if(dx0)
x0-=fx(p,x0)/dx0;
else
x0-=0.1;
printf("inter:%df(%lf)=%lf ",n,x0,fx(p,x0));
}
returnx0;
}


intmain()
{
doublec[4]={-6,3,-4,2};
polyd={c,4};
polyroot(&d,1.5);
return0;
}

『伍』 C語言 怎麼輸出方程式

1、getchar函數中輸入一個字元,包括數字都可以。
2、putchar函數輸出的是字元,括弧里是數字將按照ascii碼來處理,即將數字看做ascii碼轉換為字元然後輸出,
3、整型變數與字元變數不可以互相代替,char
是定義字元,如果輸入的是數據,有可能會被當做ascii碼來處理

『陸』 c語言怎麼解方程

基本思路就是迭代 一個變數在你的定義域內以一定的小間隔進行連續取值
如果方程左邊和右邊的值之間的差距接近於0 (根據你的精度要求具體選定判斷條件)
比如:
|方程左邊- 方程右邊|<0.00001
你就認為此時的自變數取值為一個解

還有的辦法就是數學辦法了 比如二元一次方程直接就有公式的 套進去進行了

『柒』 如何用C語言程序解方程

上課時編的,測試過可用。/* Note:Your choice is C IDE */
#include "stdio.h"
#include <math.h>
void main()
{
int a,b,c,d,e;
e=1;
while (e)
{printf("求一個一元二次方程的根");
printf("ax^2+bx+c=0\n");
printf("請輸入a=");
scanf("%d",&a);
if(a==0)
{
break;
}printf("請輸入b=");
scanf("%d",&b);
printf("請輸入c=");
scanf("%d",&c);
d=b*b-4*a*c;
if(d<0)
{
printf("無實數解\n");
}
else if(d==0)
{
printf("只有一個根為:%f\n",-b/(2.0*a));
}
else
{printf("有兩個根為:%f%f\n",(-b+sqrt(e))/(2.0*a),(-b-sqrt(e))/(2.0*a));
}}
}

『捌』 怎麼在c語言中寫一個方程來計算一個數的n次方

思路:定義一個函數fun(x,n)求x的n次方,即進行n次for循環執行x的累成,主函數調用fun函數。

參考代碼:

#include<stdio.h>
intfun(intx,intn){
ints=1;
while(n--){
s*=x;
}
returns;
}
intmain()
{
intx=2,y=10;
printf("%d ",fun(2,10));
return0;
}
/*
運行結果:求2的10次方
1024
*/

『玖』 c語言寫一個方程

# include <stdio.h>
void draw_pyramid(int size)
{
int i,j;
for(i=0;i<size;i++)//'*'的總層數
{
for(j=0;j<size-i-1;j++)//列印第i行最前面的空格
printf(" ");
for(j=0;j<i+1;j++)//列印第i行的'*'
printf("* ");
printf("\n");
}
}
int main()
{
draw_pyramid(6);
}

『拾』 c語言 輸入一個簡單數學的表達式,最後輸出此表達式並得出結果,怎麼做

intmain(){
floata,b;
charop;
scanf("%f%c%f=",&a,&op,&b);
switch(op){
case'+':printf("%f",a+b);break;
case'-':printf("%f",a-b);break;
case'*':printf("%f",a*b);break;
case'/':if(b)printf("%f",a/b);break;
}
return0;
}