C語言程序設(shè)計教程 課后習(xí)題參考答案
《C語言程序設(shè)計教程 課后習(xí)題參考答案》由會員分享,可在線閱讀,更多相關(guān)《C語言程序設(shè)計教程 課后習(xí)題參考答案(38頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、《C語言程序設(shè)計教程》 課后習(xí)題參考答案 習(xí)題1 1. (1)編譯、鏈接 .exe (2)函數(shù) 主函數(shù)(或main函數(shù)) (3)編輯 編譯 鏈接 2. (1)-(5):DDBBC (6)-(10):ABBBC 3. (1)答:C語言簡潔、緊湊,使用方便、靈活;C語言是高級語言,同時具備了低級語言的特征;C語言是結(jié)構(gòu)化程序設(shè)計語言,具有結(jié)構(gòu)化的程序控制語句;C語言有各種各樣的數(shù)據(jù)類型;C語言可移植性好;生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。 (2)編輯、編譯、鏈接、執(zhí)行 (3)一個C程序由一或多個函數(shù)組成,一函數(shù)若干條語句構(gòu)成,每條語句的末
2、尾必須以分號結(jié)束。
(4)標(biāo)識符,關(guān)鍵字,運(yùn)算符,分隔符,常量,注釋符等
4. 從鍵盤輸入一個雙精度小數(shù),打印出它的余弦值。
#include
3、 0 1 0 1 1 0
(5)-9 9 8
(6)1)20 2)8 3)70 4)0 5)0 6)0
4.
(1)
#include
4、
#include
5、 double result = (-2 * a + ( 4*a – b )/( 2*a + b ) )/( (a - 4*b)/(a + b) ); printf(“%lf\n”, result); } 習(xí)題3 1. (1)D(2)AD(3)C(4)B(5)A (6)-(10):BDACB 2. (1)3.141593,3.1416,3.142 (2)c=K (3)| 123.46|,|123 | (4)x= 1.23,y= 50.00 (5)0 3. (1)scanf(%f”, c); 改為:scanf(“%f”, &c);
6、 f = (9/5)*c+32; 改為:f = (9.0/5)*c + 32; printf(“攝氏溫度%f度相當(dāng)于華氏溫度%f度”, &c, &f); 改為: printf(“攝氏溫度%f度相當(dāng)于華氏溫度%f度”, c, f); (2) 補(bǔ)充定義:int h; h = 500/60 改為: h = 500 / 60; m = 500% 60 改為: m = 500%60; printf(“500分鐘是%d小時%d分鐘,”&h, &m); 改為: printf(“500分鐘是%d小時%d分鐘” , h, m); 4. (1) #in
7、clude
8、 tmp;
printf(“After swap: x=%c, y=%c\n”, x, y);
}
(3)
#include 9、 10、= z; z = t; }
printf(“%d %d %d\n”, x, y ,z);
}
(2)
#include 11、等\n”);
else if( score >= 60 )
printf(“及格\n”);
else
printf(“不及格\n”);
}
(3)
#include 12、數(shù)
printf(“%d\n”, g); //各位上的數(shù)值
}
else if ( n < 100 ) //兩位數(shù)
{
printf(“%d\n”, 2);//位數(shù)
printf(“%d %d\n”, g,s);
}
else if ( n < 1000 ) //三位數(shù)
{
printf(“%d\n”, 3);//位數(shù)
printf(“%d %d %d\n”, g, s, b);
}
else if ( n < 10000 ) //四位數(shù)
{
printf(“%d\n”, 4);//位數(shù)
printf(“%d %d 13、%d %d\n”, g, s, b, q);
}
}
(4)
#include 14、printf(“能被5和7整除\n”);
else if( n%3==0 || n%5==0 || n%7==0 )
{
if( n%3==0 )
printf(“能被3整除\n”);
else if( n%5==0 )
printf(“能被5整除\n”);
else
printf(“能被7整除\n”);
}
else
printf(“不能被3、5、7中任一個數(shù)整除\n”);
}
(5)
#include 15、桑塔納
double xiali = 2.1; //每公里價格
double fukang = 2.4;
double sangtana = 2.7;
double distance; //距離
double totalMoney;//總的收費(fèi)
printf("請輸入您乘坐的車型:1代表夏利;2代表富康;3代表桑塔納:");
scanf("%d", &carType);
printf("請輸入您乘車的總路程:");
scanf("%lf", &distance);
if( carType == 1)//夏利
{
if( distance < 3 16、 )
totalMoney = 7.0;
else
totalMoney = 7 + xiali * (distance – 3);
}
else if( carType == 2 ) //富康
{
if( distance < 3 )
totalMoney = 8.0;
else
totalMoney = 8 + fukang * (distance – 3);
}
else if( carType == 3 ) //富康
{
if( distance < 3 )
totalMoney = 9.0;
17、 else
totalMoney = 9 + sangtana * (distance – 3);
}
printf("(四舍五入)您的車費(fèi)為:%.0lf\n", totalMoney );
}
(6)
#include 18、= c || c==a )
printf(“等腰三角形\n”);
else
printf(“一般三角形\n”);
}
else
printf(“不能構(gòu)成三角形\n”);
}
第5章
1. (1)C(2)C(3)K=36(4)C(5)B
2.
(1) 3次
(2) x>=1 && x<=10 || x>=200&&x<210
(3) e == 0
(4) 6次
(5) 10
3.
(1) 20,10
(2) 16,0
(3) 7BAB4BAB1BC
(4) ABABABC
(5) ******
***** 19、*
******
******
4.
(1) a != b
(2) n / 10
(3) scanf(“%d”, &a);
5. (3) 行 int fac = 1, sum = 0;
6.
(1)
#include 20、alpha++;
else if( ch>=’0’ && ch<=’9’)
digit++;
else if( ‘ ‘ == ch )
space++;
else
other++;
}
printf(“%d %d %d %d\n”, alpha, digit, space, other );
}
(2)
#include 21、20*m20+10*m10 == 100 )
printf(“%d, %d\n”, m20, m10 );
}
}
(3)
#include 22、
main( )
{
int row, spaceCount,starCount;
int n;
scanf("%d", &n);
for( row = 1; row <= n; ++row)
{
for( spaceCount = 1; spaceCount <= n - row ; ++ spaceCount)
printf(" "); //打印出某行上星號前的空格
for( starCount = 1; starCount <= 2* row - 1; ++starCount )
printf("*"); //打印出某行上 23、的所有星號
printf("\n"); //換行
}
//打印下半部分
for(row=1; row 24、5)
#include 25、
printf("%d%d%d%d\n", q,b,s,g);
}
第6章
1.
(1)無返回值
(2)double 2
(3)無限循環(huán)(死循環(huán))
(4)result = 720
2.
(1)
#include 26、 for(col=1; col<=row; col++)
printf("#");
printf("\n");
}
}
(2)
#include 27、("@");
printf("\n");
}
}
(3)
#include 28、, &nowm, &nowd);
age= yearOld(by,bm,bd,nowy,nowm,nowd);
printf("age=%d\n", age);
}
int yearOld(int byear, int bmonth, int bday, int nyear, int nmonth, int nday)
{
int age;
age = nyear - byear;
if( nmonth 29、;
}
(4)
#include 30、int n;
scanf("%d", &n);
printf("%.0lf\n", sumfac( n ) );
}
double sumfac( int n )
{
double f=1.0, s = 0.0;
int i;
for(i=1;i<=n; i++)
{
f *= i;
s += f;
}
return f;
}
(6)
#include 31、intf("%d\n", gcd(m ,n) );
}
int gcd(int m, int n)
{
int t,r;
if( m < n )
{ t = m; m= n; n = t; }
r = m % n;
while( r )
{
m = n;
n = r;
r = m % n;
}
return n;
}
(7)
#include 32、"%d%d", &m, &n);
printf("%d\n", lcm(m ,n) );
}
int gcd(int m, int n)
{
int t,r;
if( m < n )
{ t = m; m= n; n = t; }
r = m % n;
while( r )
{
m = n;
n = r;
r = m % n;
}
return n;
}
int lcm(int m, int n)
{
return m*n/gcd(m,n);
}
(8)
#include 33、e mypower(double x, int y);
main( )
{
double x;
int y;
scanf("%lf%d", &x, &y);
printf("%lf\n", mypower(x,y) );
}
double mypower(double x, int y)
{
int i;
double f=1.0;
for(i=1; i<=y; i++)
f *= x;
return f;
}
第7章
1.
(1)6 (2)5 (3)不能
(4)int a[3][2]={{1,2}, {3,4}, 34、 {5,6} };
(5)6 9
(6)abc G
2.
(1)
#include 35、的元素為:\n”);
for( i=0; i<10; i++)
printf(“%5d”, array[i]);
printf(“\n”);
return 0;
}
void reverse( int a[ ], int n )
{
int i;
int tmp;
for( i=0; i 36、lude 37、}
(3)
#include 38、s2[ ])
{
int i, j=0;
for(i=0; i 39、ar str2[ ] )
{
int i=0,j=0;
while( str1[i] != '\0' )
{
if( str1[i]>='a'&&str1[i]<='z' )
{
str2[j] = str1[i];
j++;
}
i++;
}
str2[j] = '\0';
return j;
}
(5)
#include 40、 = getchar( );
deleteAll( s, ch );
puts( s );
}
void deleteAll( char str[ ], char ch)
{
int i, j;
i = 0;
j = 0;
while( str[i] )
{
if( str[i] != ch )
{
str[j++] = str[i];
}
i++;
}
str[j] = '\0';
}
(6)
#include 41、1, char ch2);
main( )
{
char s[100], c1, c2;
gets( s );
c1 = getchar( );
c2 = getchar( );
replaceAll( s, c1, c2 );
puts( s );
}
void replaceAll(char str[ ], int ch1, char ch2)
{
int i;
i = 0;
while( str[i] )
{
if( str[i] == ch1 )
str[i] = ch2;
i++;
}
}
(7)
# 42、include 43、個元素下標(biāo),使cc指向最后一個元素
for( ; cc>=0; cc-- ) //輸出轉(zhuǎn)換后的二進(jìn)制數(shù)
printf(“%d”, array[cc]);
printf(“\n”);
return 0;
}
int transformToBin( int dnum, int bin[ ] )
{
int count = 0;
while ( dnum ) //當(dāng)dnum還未轉(zhuǎn)換完畢
{
bin[count++] = dnum % 2; //余數(shù)保留到數(shù)組對應(yīng)元素中
dnum /= 2; //數(shù)本身除2
44、
}
return count;
}
(8)
#include 45、回退一個元素下標(biāo),使cc指向最后一個元素
for( ; cc>=0; cc-- ) //輸出轉(zhuǎn)換后的進(jìn)制數(shù)
printf("%c", array[cc]);
printf("\n");
return 0;
}
int transformToHex( int dnum, char hex[ ] )
{
int count = 0;
int t;
while ( dnum ) //當(dāng)dnum還未轉(zhuǎn)換完畢
{
t = dnum % 16;
if( t < 10 )
hex[count] = t+'0'; //余數(shù)保留到 46、數(shù)組對應(yīng)元素中
else
hex[count] = t-10+'A';
count++;
dnum /= 16; //數(shù)本身除16
}
return count;
}
(9)
#include 47、ol);
void getMaxEveryRow(int a[][N], int row, int col, int y[]);
main( )
{
int arr[M][N], y[M]={0};
int i;
generate(arr, M, N);
display(arr, M, N);
getMaxEveryRow(arr,M,N,y);
//輸出最大值
for(i=0; i 48、int col )
{
int i,j;
srand( time(NULL) );
for(i=0; i 49、nt a[][N], int row, int col,int y[])
{
int i,j;
for(i=0; i 50、 ][N], int row, int col );
void display( int a[][N], int row, int col);
void getMinEveryCol(int a[][N], int row, int col);
main( )
{
int arr[M][N];
int i;
generate(arr, M, N);
display(arr, M, N);
getMinEveryCol(arr,M,N);
//輸出最小值
for(i=0; i 51、ntf("\n");
}
void generate( int a[ ][N], int row, int col )
{
int i,j;
srand( time(NULL) );
for(i=1; i 52、[j]);
printf("\n");
}
}
void getMinEveryCol(int a[][N], int row, int col)
{
int i,j;
for(i=0; i 53、(5)return (6)遞歸
(7)求 1!+2!+3!+4!+5!
(8)注意全局變量和局部變量的區(qū)別
2.
(1)
#include 54、 sqrt( x*x+y*y );
}
(2)
#include 55、ong s;
if( hour < 6 )
{
s = second+minute*60+hour*60*60;
}
else
{
s = 60-second+(60-minute-1)*60+(12-hour-1)*60*60;
}
return s;
}
(3)
#include 56、
}
int fun( int n )
{
int i;
for(i=2; i 57、if( count % 10 == 0 )
printf("\n");
}
printf("\n");
}
int fun( int n )
{
int i;
for(i=2; i 58、nc(n) );
}
int func( int n )
{
if ( 1 == n )
return 3;
return 2*func(n-1)-1;
}
(6)
#include 59、
return m;
return gcd(n, m%n);
}
第9章
1.
(1)xyzNKT
(2)bcdefgh
(3)4,4
(4)qponmzyx
(5)abcCD
(6)0
2.
(1)
#include 60、f("%d ", a[i]);
printf("\n");
}
void reverse( int *p, int n)
{
int *q;
int t;
q = p + n - 1;
while( p < q )
{
t = *p;
*p = *q;
*q = t;
p++;
q--;
}
}
(2)
#include 61、
reverseStr(s);
puts(s);
}
void reverseStr( char *str )
{
char *pEnd,t;
pEnd = str + strlen(str) - 1;
while( str < pEnd )
{
t = *str;
*str = *pEnd;
*pEnd = t;
str++;
pEnd--;
}
}
(3)
#include 62、1,2,3,4,5,6,7,8,9, 10};
int b[10], count,i;
count=copyTo(a,10,b);
for(i=0; i 63、++ = *ps1;
}
}
return ps2 - s2;
}
(4)
#include 64、
{
*str2++=*str1;
}
str1++;
}
*str2 = '\0';
}
(5)
#include 65、
if( *str != ch )
*p++ = *str;
str++;
}
*p = '\0';
}
(6)
#include 66、 c2 = getchar( );
replaceAll(s,c1, c2);
puts(s);
}
void replaceAll( char *str, char ch1, char ch2)
{
while( *str )
{
if( *str == ch1 )
{
*str = ch2;
}
str++;
}
}
(7)
#include
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024《增值稅法》全文學(xué)習(xí)解讀(規(guī)范增值稅的征收和繳納保護(hù)納稅人的合法權(quán)益)
- 2024《文物保護(hù)法》全文解讀學(xué)習(xí)(加強(qiáng)對文物的保護(hù)促進(jìn)科學(xué)研究工作)
- 銷售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見問題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說話方式
- 汽車銷售績效管理規(guī)范
- 銷售技巧培訓(xùn)課件:絕對成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩