設(shè)計(jì)思路如下:
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、潁上網(wǎng)站維護(hù)、網(wǎng)站推廣。
1、問(wèn)題描述:
給定一個(gè)二元一次方程組,形如:
a * x + b * y = c;
d * x + e * y = f;
x,y代表未知數(shù),a, b, c, d, e, f為參數(shù)。
求解x,y。
2、數(shù)據(jù)規(guī)模和約定:
0 = a, b, c, d, e, f = 2147483647。
3、設(shè)計(jì)思路:
二元一次方程組是由兩個(gè)含有兩個(gè)未知數(shù)的方程組成的,要求解,就要把二元轉(zhuǎn)化為一元。由二元一次方程組的解法思想知,要把二元轉(zhuǎn)化為一元.
實(shí)現(xiàn)的功能代碼如下:
擴(kuò)展資料:
C語(yǔ)言解求二元一次方程:(順序消元法)
“消元”是解二元一次方程的基本思路。所謂“消元”就是減少未知數(shù)的個(gè)數(shù),使多元方程最終轉(zhuǎn)化為一元方程再解出未知數(shù)。這種將方程組中的未知數(shù)個(gè)數(shù)由多化少,逐一解決的想法,叫做消元思想。
實(shí)現(xiàn)代碼如下:
因?yàn)樵谇蠼膺^(guò)程中只有數(shù)之間的運(yùn)算,而沒(méi)有整個(gè)式子的運(yùn)算,因此這種方法被廣泛地用于計(jì)算機(jī)中。
#include?stdio.h?
int?main(void)
{
double?x?=?0;
double?y?=?0;
const?double?t?=?0.005;
for(int?i?=?0;?i?=?230;?++i)
{
y?=?9?+?t?*?i;
x?=?(y?-?10.086)?/?((-2?/?10000000)?-?0.00053);
printf("y%d?=?%lf,?x?=?%lf\n",i,y,x);?
}
return?0;
}
假設(shè)的情況:
輸入沒(méi)有錯(cuò)誤;
x 總是在前面,y 總是在后面;
不存在某個(gè)變量系數(shù)為 0 的情況(即總是二元方程);
不考慮小數(shù),其實(shí)考慮小數(shù)也簡(jiǎn)單,你可以自己思考如何實(shí)現(xiàn)。
首先,使用 scanf() 將回車之前的整個(gè)字符串掃描進(jìn)來(lái),放進(jìn) str 變量中;
之后,分別以 x y = 為界,找到它們分隔的三個(gè)字符串,即從 str 的第一位開(kāi)始循環(huán),當(dāng)遇到 'x' 時(shí),停止并將之前的所有字符存到 x 的系數(shù)字符串 xStr 中,再?gòu)?x 之后開(kāi)始尋找,遇到 'y' 時(shí)將找到的 'x' 與 'y' 之間的字符存到 y 的系數(shù)字符串 yStr 中,再向后從 '=' 開(kāi)始直到結(jié)束,存為結(jié)果字符串 sumStr。
這樣,我們得到的三個(gè)字符串都具有相同的格式,一定可以通過(guò)某種方式將其轉(zhuǎn)換為一個(gè)數(shù)字,使用同一個(gè)函數(shù)就可以做到。
對(duì)于某個(gè)字符串來(lái)說(shuō),它可能是以負(fù)號(hào) '-' 開(kāi)頭,也可能以正號(hào)開(kāi)頭 '+',也可能沒(méi)有符號(hào),也可能為空,分別考慮:以負(fù)號(hào)開(kāi)頭的,將其作為負(fù)數(shù),以正號(hào)開(kāi)頭或沒(méi)有符號(hào)的,將其作為正數(shù);為空的字符串將其視為 1。
截取符號(hào)之后,如果沒(méi)有剩余字符了,將其視為 1,再與符號(hào)相乘,就是最終結(jié)果。
如果還有剩余,那么之后的字符都是純數(shù)字了(不考慮小數(shù)),從字符串的最后一位往前開(kāi)始循環(huán),下標(biāo)記為 i(從0開(kāi)始一直到最前面的數(shù)字位數(shù)),每一位字符記為 ch,則 n=(int)(ch-'0') 就是當(dāng)前字符所代表的數(shù)字,用 n*pow(10, i) 就得到了當(dāng)前數(shù)字的實(shí)際值,把所有的乘積都加起來(lái),就得到了總的系數(shù)的絕對(duì)值,再乘以符號(hào),就得到了系數(shù)值。
實(shí)現(xiàn)了這個(gè)部分之后,假設(shè)的情況也可以一一實(shí)現(xiàn)了,無(wú)非就是標(biāo)記歸屬的問(wèn)題。我沒(méi)有貼代碼是因?yàn)槲铱吹侥銌?wèn)的問(wèn)題非常認(rèn)真,我希望你可以通過(guò)我的描述自己去實(shí)現(xiàn)它。這里用到了一些字符串相關(guān)的函數(shù),例如 strlen(str) 可以獲得 str 字符串的長(zhǎng)度,strncpy(dest, src, 3) 可以將 src 字符串的前三位拷貝到 dest 字符串中,strncpy(dest, src+3, 3) 可以將 src 字符串的 4~7 位拷貝到 dest 字符串中。