当前位置:首页 » 编程语言 » 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;
}