c语言解一次函数系数 c语言计算函数的值例题

C语言求一次函数解析式

#includestdio.h

创新互联专业成都网站制作、成都网站建设,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文平台等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。

#includestdlib.h

int main()

{

float k,b,x1,y1,x2,y2;

printf("请按照x1,y1,x2,y2的顺序依次输入\n");

scanf("%f,%f,%f,%f",x1,y1,x2,y2);

b=(y2-y1)/(x2-x1);

k=(y1-b)/x1;

printf("y=%fx+%f\n",k,b);

return 0;

}

用C语言解二元一次方程要用什么公式吗??

二元一次方程一般为

ax+by+c=0

dx+ey+f=0

输入a,b,c,d,e,f这些系数后,

转化为x=(-by-c)/a,代入,d*(-by-c)/a+ey+f=0

化简-b*d*y/a-c*d/a+ey+f=0

(ea-b*d)*y/a=c*d/a-f

y=a*(c*d/a-f)/(ea-b*d)

解出y后,x=(-by-c)/a

代码实现:

#include

stdio.h

void

main()

{

double

a,b,c,d,e,f,x,y;

scanf("%lf

%lf

%lf

%lf

%lf

%lf",a,b,c,d,e,f);

y

=

a*(c*d/a-f)/(e*a-b*d);

x

=

(-b*y-c)/a;

printf("%lf\n%lf\n",x,y);

}

C语言编写一元一次函数ax+b=0

#include iostream

int main()

{

int a = 0,b = 0;

printf("请输入一次方程的系数a和b(以逗号隔开):");

scanf("%d,%d",a,b);

double c = (double)-b / a;

printf("一次方程 %dx+%d=0 的根是:x = %lf\n",a,b,c);

system("pause");

return 0;

解释C语言(逐句) 解一元一次方程的

#includestdio.h

#includestring.h

//前面两个是库函数,第一个用于输入输出,第二个用于调用对字符串的各种操作

//下面是main函数主体,定义为void类型则最后不需要return返回值,若定义为int则需要返回

void main()

{

char s[20], *p, b[10], ch; //定义了四个变量,S[20],b[10]是字符串数组,P是字符串指针,用

//于指向一个字符串,ch是字符变量

int i=0, f=0, f1=1; //定义int型的变量,变量作用下面会说明

int x=0, c=0;

int u=0;

gets(s); // gets()函数是库函数,用于从键盘接受你输入的一串东西,只接受你回车键以前

//的内容

p=s; //让指针p 指向 上面gets()函数接收到的那串字符,就是把那串字符的首地址给p

while(*++p!='\0'); //一个while循环,由于p只是指向那串字符的首地址,因此循环的作用是到达

//那串字符的末尾,'\0'表示一串字符串结束了,'\0'不是你输的,而是一串字

//符结束后,系统自动添上去的

*p=' '; *(p+1)='\0'; //上面while循环结束后p指针已经指向字符串的末尾了,现在把字符串的最

//后一位变为' '(空格),这时候需要自己给字符串末尾添加结束标志'\0',因

//为你把字符串单个执行系统不会自动给你添了

p=s; //上面p指针已经通过while循环跑到字符串末尾了,因此需要重新赋值下,

//这样p又一次指向字符串s的开头

//下面是解一元一次方程的过程,主体还是一个while循环

while(*p!='\0') //*p!='\0'是指只要p指针没指向字符串结束的位置,就一直循环

{

if(*p='0'*p='9') { b[i++]=*p; f=1; } //判断p此时指向的那个字符是否属于0-9的数字,

//如果是则把p指向的内容放在b数组

//否则执行else语句,并让f=1(f本来为0),注意

//i++使b数组递增

else

if(f==1) { //现在是else的部分,说明p指向的那个字符不是0-9了,而是其他字符

if(*p='a'*p='z') { //上面说到p指向的不是0-9,现在判断p是否指向a-z的26个字符,

//其实这样写是有问题的,万一你输入大写字母,结果会出错,建议改为 if(*p='a'*p='z'||*p='A'*p='Z')

ch=*p; //*p是指p指针指向的那个字符,注意p指向的是地址,*P代表p地址处存放

//的数据

//b数组中存放的是字符串中的数字部分,下面的if跟else分别是把char类型的数字转换为int型

//if是处理负数的情况,else处理正数的情况,如何判断正负数是通过,f1,u的值来看的

if((u==0f1==0)||(u==1f1==1)) {

b[i]='\0';

f=0; i=0; u=0;

x=x+ atoi(b)*(-1); //atoi()是库函数,把char类型的数据转换为int型

//x=x+ atoi(b)*(-1); 等效于 x+=atoi(b)*(-1);

} // end if((u==0f1==0)||(u==1f1==1))

else {

b[i]='\0';

f=0; i=0; u=0;

x+=atoi(b);

} //end else

} //end if(*p='a'*p='z')

//上面所有操作是在 if(*p='a'*p='z')内进行的,也就是遇到字母的时候,

//所以x最后的值存储的是变量(一元函数中的那个要求的值如2x=9中的x)的前缀

//(方程2x=9中2是叫前缀吗?)

//不对,那个2叫系数

else

if((u==0f1==0)||(u==1f1==1)) { b[i]='\0'; f=0; i=0; u=0; c+=atoi(b); }

else { b[i]='\0'; f=0; i=0;u=0; c=c+ atoi(b)*(-1);}

//上面两句是else中的内容,说明遇到的不是字母,因此c不是指系数,而是值,

//(比如2x=9中的9)

} //end if(f==1)

//到此判断p指向的那个字符的判断过程就结束了,但一次while循环没跑完,下面是指当遇到为负

//数的情况下,应该使u=1

//u=1就告诉我们遇到负数了,f1是指遇到=该怎么处理

if(*p=='-') u=1;

if(*p=='=') f1=0;

p++;

} //end while

//while循环到此结束,此时已经把一个一元方程化简了

//比如输入 2a+3a+6=12,可以认为他已经化简为 5a=6的形式

//而且系数5存放在变量x中,值6存放在c中,变量名字a存放在ch中

printf("%c=%d",ch,c/x); //输出结果

getch(); //可以不要,在windows平台下从控制台无回显地取一个字符

}

//最后告诉楼主一点,这样写太繁琐了,如果楼主用栈来实现,不可实现多元多次方程求解,而

//且就很简单的一个后缀式来处理

//不用这样各种if else来回判

//ps: 建文件的时候一定要写成c语言的**.c形式,不要写成c++的**.cpp格式,否则会报错

//因为atoi(),等函数在c++中的参数跟c中不一样,这样写会报错

c语言如何定义一个线性函数y=kx+b的系数k,b,从键盘读取这两个系数,并读取任意?

float k,b,x,y;

printf("请输入k,b:");

scanf("%f%f",k,b);

printf("请输入x:");

scanf("%f",x);

y=k*x十b;

printf("y=%f\n",y);


当前标题:c语言解一次函数系数 c语言计算函数的值例题
网址分享:http://myzitong.com/article/higjpe.html