该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#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;
}
——————
改动日志: