c語言第八章課後答案
Ⅰ 求c語言題庫
編程題:
用編寫C語言程序實現下面目的:
鍵盤輸入圓柱的底半徑r和高h,計算表面積S和體積V並輸出。輸入輸出時要有文字說明,輸出數取小數點後2位數字。
鍵盤輸入三個數,編寫程序將他們從大到小輸出。
鍵盤輸入一個字元,如果它是大寫字母,則把它變成小寫字母輸出;若它是小寫字母,則變成大寫字母輸出;其它字元不改變輸出。編寫程序實現這一過程。
編寫程序實現以下函數功能:(求平方函數sqrt()在頭文件math.h中包含,a的值用scanf函數從鍵盤輸入)
編程實現:鍵盤輸入一個整數,判斷它是否能被3,5,7整除,並輸出以下信息之一:
(1) 能同時被3,5,7整除;
(2) 能被其中兩個數(要指出那兩個)整除;
(3) 能被其中一個數(要指出那個數)整除;
(4) 不能被3,5,7整除。
編程實現:鍵盤讀入兩個數(data1和data2)及一個運算符(op),計算表達式
data1 op data2
的值,其中op可以是 +、-、*、/中的一種。例如:
輸入: 1+2
輸出:1.000000+2.000000=3.000000
輸入: 1.0/2
輸出:1.000000/2.000000=0.500000
輸入: 3*2.5
輸出:3.000000*2.500000=7.500000
等等
有1020個西瓜,第一天賣出一半多兩個,以後每天賣剩下的一半多兩個,編程求到第幾天賣完。
鍵盤輸入一串字元,計算其中的母音字元的個數和輔音字母的個數。例如輸入:
I am a boy. You are a girl. 則母音有10個,輔音有8個,等等。輸入時以回車(『\n』)作為結束。
編程計算1-3+5-7+…-99+101的值。
從鍵盤輸入6名學生的各5科成績,分別統計並輸出每個學生的平均成績。
(每輸入一個學生的5科成績,就要輸出他的平均成績,輸入輸出要有提示。
例如:
請輸入第1個人的成績:
34
45
67
78
79
他的平均成績為:?
請輸入第2個人的成績:………………)
從鍵盤輸入若干整數(數據至多100個),其值在0至4范圍,用-1作為輸入結束標志,統計每個整數的個數。
輸出完整的乘法九九表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
……
13. 鍵盤輸入一個字元串,反序輸出。
例如輸入: "How are you!"
則輸出: "!uoy era woH"
若輸入: "Holle the world!"
則輸出: "!dlrow eht elloH"
等等
14. 編寫程序,將鍵盤輸入的兩個字元串(str1和str2)連接起來,不要用strcat函數。
例如輸入:str1:"I am a boy."
str2:"You are a girl."
連接後輸出:
"I am a boy. You are a girl ."
15. 鍵盤輸入十個數,用起泡法對它們由小到大排序。
16. 輸出ASCII碼為33~127字元的列表。輸出方式:每行輸出5個字元信息;對於每個字元,先輸出十六進制轉義字元方式,再輸出普通字元方式。例如:
』\x21』 ! 『\x22』 「 『\x23』 # 『\x24』 $ 『\x25』 %
等等。其中』\x21』中,單引號(』)、斜線(\)和字元x也要輸出。
17. 輸入某一科學生成績,學生數少於100人,當輸入成績為0時結束輸入。然後:
(1) 求成績平均值xx;
(2) 求平均相對誤差wucha_x。方法:wucha_x=(|x[0]-xx|+|x[1]-xx|+…+|x[n-1]-xx|)/n
其中n是學生個數,求絕對值函數fabs()在頭文件math.h中包含。
第八章函數:
已有變數定義和函數調用語句:
int a, b, h, l;
h=hcf(a, b); l=lcd(a,b);
hcf函數的作用是求兩個數的最大公約數,lcf函數的作用是求兩個數的最小公倍數。要求在主函數中從鍵盤輸入兩個整數分別賦值給變數a,b,然後調用兩個函數求出最大公約數和最小公倍數,最後由主函數輸出結果。
已有變數定義和函數調用語句:
char str1[80],str2[80];
cpy(str1,str2);
cpy函數的作用是找出str1中的母音字母然後復制到str2中。要求在主函數中實現字元串的輸入,並存放到字元數組str1中,函數調用後輸出字元數組str1和str2中的內容。
給出年、月、日,計算該日是該年中的第多少天。其中計算過程由函數實現。
輸入長方形的長a和寬b的值,通過一個函數調用計算出長方形的周長c和面積s,在主函數中輸出長方形的周長和面積值。
已有變數定義語句
double a;int n;
和函數調用語句
mypow(a,b);
要求編寫程序,用遞歸法求出a的n次方的值
寫一個函數,實現用「選擇法」對輸入的10個字元按由小到大的順序排列。在主函數中調用該函數並輸出排序後的結果。
寫一個函數,實現用「起泡法「對輸入的10個字元按由大到小的順序排列。在主函數中調用該函數並輸出排序後的結果。
編寫程序,要求從鍵盤輸入月份號,輸出該月的英文名字。例如,輸入『3』,則輸出「Match」,輸出要求用函數實現。
第十章指針
編一程序,將字元串中的第m個字元的全部字元復製成另一個字元串。要求在主函數中輸入字元串及m的值並輸出復制結果,在被調用函數中完成復制。(形參與實參均用指針變數)
用「起泡法」對輸入的十個整數按由小到大的順序排序。(對數組中各元素的操作要求用指針的方法)
編一程序,統計從鍵盤輸入的命令行中第二個參數所包含的英文字元個數。
輸入一行字元,要求找出其中大寫字母、小寫字母、空格、數字以及其他字元各有多少個?(要求用指針方法實現)
輸入10個數,將其中最小的數與第一個數對換,把最大的數與最後一個數對換,要求寫3個函數,分別實現
①輸入10個數,
②進行處理,
③輸出10個數。
編一程序,將字元串computer賦給一個字元指針,然後從第一個字母開始間隔地輸出該串。要求用指針完成。
編一程序,要求從鍵盤輸入兩個數,通過函數調用比較兩個數的大小,並把大數返回給主調函數,輸出這個數。(要求兩個變數的地址作為實參)
補充題目:
編寫一個函數,統計出一個整數中包含的某一個數字的個數,例如:11254中包含有1個2。
求100以內的全部素數,每行輸出10個數。要求判斷一個數是否是素數由函數實現。
有36塊磚,共36人搬,成年男子一次搬4塊磚,成年女子一次搬3塊磚,兒童兩人抬1塊磚,恰好一次全部搬完,編程求出成年男子、成年女子和兒童各多少人。
程序的功能是求三個數的最小公倍數。
max(int x,int y,int z)
{
If(x>y&&x>z) return(x);
else if(y>=x&&y>z) ;
else return(z);
}
main()
{
int a,b,c,i=1,j,s;
scanf(「%d%d%d」,&a,&b,&c);
s= ;
while(1)
{
j=s*i;
if( )
break;
i++;
}
printf(「%d」,j);
}
下面程序用於計算n!的值
main()
{
int i,s,n;
s=1;
printf(「enter n:」);
scanf(「%d」,&n);
for(i=1;i<=n;i++)
;
printf(「s=%d」,s);
}
閱讀下面的程序,其結果為( )。
#include <stdio.h>
main()
{
char c=』A』;
if(『0』<=c<=』9』)
printf(「YES」);
else
printf(「NO」);
}
A.YES B.NO
C.YESNO D.語句錯誤
Ⅱ c語言程序設計
第一章 程序設計的基本概念
第一節 C語言的發展歷史與特點
第二節 程序與程序設計
第三節 演算法與演算法的描述
第四節 C語言的上機操作
思考題與習題
第二章 C語言程序設計基礎
第一節 C語言的程序結構
第二節 數據類型
第三節 運算符與表達式
思考題與習題
第三章 C程序控制結構
第一節 C程序的三種基本控制結構
第二節 順序結構
第三節 選擇結構
第四節 循環結構
思考題與習題
第四章 數組
第一節 數組與數組元素的概念
第二節 一維數組
第三節 二維數組及多維數組
第四節 字元串與字元數組
思考題與習題
第五章 指針
第一節 指針與指針變數的概念
第二節 指針變數的定義和引用
第三節 指針變數與數組
思考題與習題
第六章 函數
第一節 函數的定義
第二節 函數的嵌套調用
第三節 數組作為函數參數
第四節 指針與函數
第五節 變數的使用范圍與存儲類別
第六節 不同文件中的函數使用
思考題與習題
第七章 編譯預處理
第一節 宏定義
第二節 文件包含
第三節 條件編譯
思考題與題
第八章 結構體與共用體
第一節 結構體基礎
第二節 結構體數組
第三節 結構體指針
第四節 鏈表
第五節 位段
第六節 共用體
第七節 枚舉類型與自定義類型
思考題與習題
第九章 文件
第一節 文件概述
第二節 文件的打開與關閉
第三節 文件的讀/寫
第四節 文件的定位
思考題與習題
第十章 程序設計方法
第一節 程序設計的基本概念
第二節 結構化程序設計方法
第三節 程序效率
第四節 程序設計風格
思考題與習題
附錄
附錄A C語言實驗
附錄B 標准ABSII碼表
附錄C C語言中的關鍵字
附錄D 運算符的優先順序與結合性