一元一次方程标准形式求根 C语言,问一道算法题目(解一元一次方程的问题)...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

void fun(char *a,int left ,int right , int *b ,int *c) // int fun(字符数组 上界 下界 常数 系数)

{

int f; // 符号位

int sum ; //数字位

int i; // 循环变量

f=1;

sum=0;

for (i=left; i<= right ; i++)

{ if(a[i] == '-') f=-1;

if (a[i] =='+') f=1;

if(a[i] >='0' && a[i] <= '9')

{

sum=10*sum + a[i] - '0' ;

}

if(a[i]>='a' && a[i]<='z')

*c=sum;

else *b=sum;

}

}

// 函数 用来在a[left] -- a[right]中 得出a常数,b系数。

int main( int argc, char *argv[])

{

char *a; //字符串

int dy; // 等于号的位置;

int z; // 字符数组总共元素

int b,c; // b为常数 c为系数

int d,e; // d为常数 e为系数

int i; //循环变量

int jie; //方程的解

int zm ; //字母

a=NULL;

dy=0;

scanf("%s",a);

z=strlen(a);

for(i=1;i<=z;i++)

{

if (a[i] == '==' )

{z=i;

break;

}

}

for(i=1;i<=z;i++)

{

if ( a[i] <= 'z' && a[i] >='a')

{

zm=a[i];

break;

}

}

a=0;b=0;

fun(a,1,dy,&b,&c);

fun(a,dy,z,&d,&e);

jie=(d-b)/(e-c);

printf("%c = %d",zm,jie);

getch();

return 0;

}

这是我的第一次源代码,后来经过人指点

改为:

#include

#include

void fun(char *a,int left ,int right , int *b ,int *c) // int fun(字符数组 上界 下界 常数 系数)

{

int f; // 符号位

int sum ; //数字位

int i; // 循环变量

f=1;

sum=0;

for (i=left; i<= right ; i++)

{ if(a[i] == '-') f=-1;

if (a[i] =='+') f=1;

if(a[i] >='0' && a[i] <= '9')

{

sum=10*sum + a[i] - '0' ;

}

if(a[i]>='a' && a[i]<='z')

*c=sum;

else *b=sum;

}

}

// 函数 用来在a[left] -- a[right]中 得出a常数,b系数。

int main( int argc, char *argv[])

{

char a[20]; //字符串

int dy; // 等于号的位置;

int z; // 字符数组总共元素

int b,c; // b为常数 c为系数

int d,e; // d为常数 e为系数

int i; //循环变量

double jie; //方程的解

int zm ; //字母

a=NULL;

dy=0;

scanf("%s",a);

z=strlen(a);

for(i=0;i

{

if (a[i] == '==' )

{z=i;

break;

}

}

for(i=0;i<=z;i++)

{

if ( a[i] <= 'z' && a[i] >='a')

{

zm=a[i];

break;

}

}

fun(a,1,dy,&b,&c);

fun(a,dy,z,&d,&e);

jie=jie=((double)(d-b))/(c-e);

printf("%c = %.3f",zm,jie);

getch();

return 0;

}

——————

改动日志:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值