函數(shù)abc的功能是求u和v的最大公約數(shù)。
專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來客戶和效益!創(chuàng)新互聯(lián)為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計(jì)制作,服務(wù)好的網(wǎng)站設(shè)計(jì)公司,成都網(wǎng)站建設(shè)、成都做網(wǎng)站負(fù)責(zé)任的成都網(wǎng)站制作公司!
這里傳進(jìn)來的u=24 v=16 第一次24%16=8
w=8 u=16 v=8
第二次:u%v=0也就是w=0,這時(shí)候u=8 v=0結(jié)束循環(huán),返回的u=8
所以結(jié)果就是8
挺有意思的問題,簡單談一下看法
將你的需求分成兩部分,一是讓程序自行解析用戶輸入的函數(shù)解析式,二是繪制函數(shù)圖像。
首先,關(guān)于第一個(gè)功能,最直接的思路就是字符串解析,按照數(shù)學(xué)知識(shí)定義不同的運(yùn)算符號(hào),按照使用習(xí)慣定義常用的變量和常量的符號(hào)字母,然后據(jù)此規(guī)則解析輸入的字符串,再根據(jù)解析結(jié)果確定函數(shù)中基本運(yùn)算的次數(shù)及運(yùn)算順序,最后將整個(gè)操作流程以一定形式存儲(chǔ)起來即可。
例如,對(duì)于y=log(x^2+x),包含三次基本運(yùn)算,第一步是x^2,第二步是上一步的結(jié)果+x,第三步是上一步的結(jié)果求對(duì)數(shù)。注意到log有定義域的限制,這也是要在程序中實(shí)現(xiàn)的。
然后,對(duì)于第二個(gè)功能,根據(jù)給定函數(shù)繪制圖像并不難,對(duì)于一元和二元函數(shù)來說很容易實(shí)現(xiàn),難點(diǎn)在于多元函數(shù)應(yīng)如何繪制直觀易懂的函數(shù)圖像?不過這一點(diǎn)超出編程語言的范疇了,而且二元函數(shù)可以滿足大部分應(yīng)用場景了。
繪制函數(shù)圖像的程序只需在定義域上按指定的步長求出不同自變量對(duì)應(yīng)的函數(shù)值,然后將點(diǎn)連成線,即可繪制出函數(shù)圖像。例如對(duì)于logx,定義域?yàn)閤0。假設(shè)步長為0.1,則可求出0.1,0.2,0.3,...,99.9,100.0的函數(shù)值,然后繪制出點(diǎn),再連點(diǎn)成線,即可得到函數(shù)圖像。
另外,這里還有很多細(xì)節(jié)沒有討論,例如輸入數(shù)據(jù)是字符串還是圖像;是否可以用其他方法解析輸入,例如神經(jīng)網(wǎng)絡(luò)。這些就很復(fù)雜了,不再深入。
回答中可能有考慮不周的地方,希望上述內(nèi)容對(duì)你有參考意義
單純看給出的代碼片段,應(yīng)該是一個(gè)簡單的色環(huán)電阻讀數(shù)用的程序,輸入色環(huán)顏色,估計(jì)輸出是阻值和精度
本函數(shù)為求字符長度的函數(shù)。
int fun(char *s)
{char *t=s; //t取s的首地址
while(*t++); //t自己遍歷,到字符末也就是 ‘\0’的時(shí)候,也是,s有幾個(gè)字符,就++幾次,到不能加的時(shí)候,停止循環(huán),
return(t-s); //首先,字符是一個(gè)字節(jié)的大小,所以t-s就是char *s的長度,又因?yàn)?t到‘\0’的時(shí)候還加一次,所以長度包括‘\0’.
}
#includestdio.h
#includestdlib.h
int main()
{
float k,b,x1,y1,x2,y2;
printf("請(qǐng)按照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;
}
#include "stdio.h"
#include "math.h"
/*求一元二次方程ax*x+bx+c=0的解*/
main()
{
float a,b,c,d,e,f,k,n,m;
printf("請(qǐng)輸入X1的值:");
scanf("%f",a);
printf("請(qǐng)輸入Y1的值:");
scanf("%f",b);
printf("請(qǐng)輸入X2的值:");
scanf("%f",c);
printf("請(qǐng)輸入Y2的值:");
scanf("%f",d);
printf("請(qǐng)輸入X3的值:");
scanf("%f",e);
printf("請(qǐng)輸入Y3的值:");
scanf("%f",f);
k=(a*c*f*(c-a)+b*c*e*(e-c)+a*d*e*(a+e))/(e*e*(c-a)+a*a*(e-c)+c*c*(a-e));
n=(a*a*(k-d) -c*c*(k-d))/(c*c*a-a*a*c);
m=(b-n*a-k)/(a*a);
{
printf("k=%f\n",k);
printf("n=%f\n",n);
printf("m=%f\n",m);
printf("該二次函數(shù)解析式為:y=%fx2+%fx+%f\n",k,n,m);
}
}