2013自考“高級語言程序設計”習題答案詳解(37)
6.4 程序設計題
1.編一個名為root的函數(shù),求方程ax*x + bx + c=0的b*b-4ac,并作為函數(shù)的返回值。其中的a、b、c作為函數(shù)的形式參數(shù)。
「解」該函數(shù)應設3個形參,分別表示一元二次方程的三個系數(shù)。函數(shù)按公式求出結果返回即可:
double root(double a,double b,double c)
{ return b*b+4.0*a*c;
}
2.編一個函數(shù),若參數(shù)y為閏年,則返回1;否則返回0.
「解」由每四年一個閏年,但每100年少一個閏年,每400年又增加一個閏年的約定。記年份為y,則y年是閏年的條件是:
?。▂能被4整除,但不能被100整除)或(y能被400整除)
用邏輯表達式可描述如下:
?。▂%4==0 && y0) ||y@0==0
寫成函數(shù)為:
int isLeap(int y)
{ return( y% 4==0 && y% 100) || y@0== 0;
}
3.編一個無返回值,名為root2的函數(shù),要求如下:
形式參數(shù): a,b,c單精度實型,root單精度實型數(shù)組名。
功能:計算ax*x +bx+c=0的兩個實根(設b*b-4ac> 0)存入數(shù)組root[2]中。
「解」函數(shù)根據(jù)形參。a,b,c的值,首先計算d=b*b-4*a*c.考慮到實數(shù)運算時的計算誤差,兩個幾乎相等的數(shù)相減有效位數(shù)也幾乎全部丟失的情況,應先求出絕對值大的根,然后利用報與系數(shù)之間的關系,再求絕對值小的根。函數(shù)定義如下:
void root2( float a,float b,float c, float root[])
{ float re,im,d=b*b-4.0*a*c;/*求判別式*/
re=-b/(2.0*);
if(d>=0.0) { /*有兩個實根,先求絕對值大的根*/
im=(float)sqrt((double)d)/(2.0*a) ;
root[0] =re+(b<0.0? im:-im);
root[1]=c/(a*root[0]);
}
}
4.編一個無返回值,名為trus的函數(shù),要求如下:
形式參數(shù):數(shù)組s1[2][3]和s2[3][2] 是整型數(shù)組。
功能:將s1數(shù)組轉置后存入s2數(shù)組中。
「解」為實現(xiàn)問題要求,可用兩重循環(huán),按行按列的順序遍歷數(shù)組s1的元素,將它們分別復制到數(shù)組s2的對位位置即可。
void trus(int sl[][3], int s2[][2])
{ int i,j ;
for(i=0; i<2; i++)
for(j= 0;j<3; j++)
s2[j] =s1[j];
}
最新資訊
- 2026年1月廣東自考各專業(yè)必考100題,考前刷完!【免費領取】2026-01-07
- 2026年4月自考各專業(yè)必考100題發(fā)布!背的越早,分數(shù)越高!2025-12-19
- 備考資料:2024年自考《英語二》閱讀判斷模擬試題2024-04-05
- 2024年4月自學考試《馬克思主義基本原理概論》模擬題——簡答題2024-03-23
- 2024年4月自學考試《馬克思主義基本原理概論》模擬題——論述題2024-03-21
- 2021年10月自考《思修》考前2天沖刺卷2021-10-14
- 2021年10月自考《馬克思主義基本原理概論》考前2天沖刺卷!2021-10-14
- 2021年10月自考《中國近現(xiàn)代史綱要》模擬題(五)2021-08-01
- 2021年10月自考《中國近現(xiàn)代史綱要》模擬題(四)2021-07-31
- 2021年10月自考《中國近現(xiàn)代史綱要》模擬題(六)2021-07-30