大學(xué)C 題庫及答案.doc
《大學(xué)C 題庫及答案.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《大學(xué)C 題庫及答案.doc(108頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、C++題庫答案 Q5.(10分)寫一個(gè)程序根據(jù)從鍵盤輸入的里氏強(qiáng)度顯示地震的后果。根據(jù)里氏強(qiáng)度地震的后果如下: 里氏強(qiáng)度 后果 小于4 很小 4.0到5.0 窗戶晃動(dòng) 5.0到6.0 墻倒塌;不結(jié)實(shí)的建筑物被破壞 6.0到7.0 煙囪倒塌;普通建筑物被破壞 7.0到8.0 地下管線破裂;結(jié)實(shí)的建筑物也被破壞 超過8.0 地面波浪狀起伏;大多數(shù)建筑物損毀 **輸入格式要求:實(shí)數(shù), 提示信息:cout << "請輸入地震的里氏強(qiáng)度: " << endl; **輸出格式要求: "本次地震后果:很??!" "本次地震后果:窗戶晃動(dòng)!" "本次
2、地震后果:墻倒塌;不結(jié)實(shí)的建筑物被破壞!"
"本次地震后果:煙囪倒塌;普通建筑物被破壞!"
"本次地震后果:地下管線破裂;結(jié)實(shí)的建筑物也被破壞!"
"本次地震后果:地面波浪狀起伏;大多數(shù)建筑物損毀!"
#include
3、e if (magnitude < 5.0) { cout << "本次地震后果:窗戶晃動(dòng)!" << endl; } else if (magnitude < 6.0) { cout << "本次地震后果:墻倒塌;不結(jié)實(shí)的建筑物被破壞!" << endl; } else if (magnitude < 7.0) { cout << "本次地震后果:煙囪倒塌;普通建筑物被破壞!" << endl; } else if (magnitude < 8.0) { cout << "本次地震后果:地下管線破裂;結(jié)實(shí)的建筑物也被破壞!" << endl; } else {
4、 cout << "本次地震后果:地面波浪狀起伏;大多數(shù)建筑物損毀!" << endl; } return 0; } Q6.(10分)寫一個(gè)程序從鍵盤輸入1到7中的某個(gè)數(shù)字,其中1代表星期天,2代表星期一,3代表星期二等。根據(jù)用戶輸入的數(shù)字顯示相應(yīng)的星期幾。如果用戶輸入的數(shù)字超出了1到7的范圍,顯示輸出一個(gè)錯(cuò)誤提示信息。 **輸入格式要求:整數(shù), 提示信息:cout << "Please input a single numeral(1-7): "; **輸出格式要求:"Monday" (星期幾的英文單詞首字母大寫加換行) 提示信息:"Invalid - please
5、 input a single numeral(1-7)."(加換行)
#include
6、ndl; break; case 2: cout << "Monday" << endl; break; case 3: cout << "Tuesday" << endl; break; case 4: cout << "Wednesday" << endl; break; case 5: cout << "Thursday" << endl; break; case 6: cout << "Friday" << endl; break; case 7: cout << "Saturday" << endl; break; } return 0;
7、} Q7.(10分)有一天,一位百萬富翁遇到一個(gè)陌生人,陌生人找他談一個(gè)換錢的計(jì)劃,陌生人對百萬富翁說:“我每天給你10萬元,而你第一天只需給我1分錢,第二天我仍給你10萬元,你給我2分錢,第三天我仍給你10萬元,你給我4分錢……。你每天給我的錢是前一天的兩倍,直到滿一個(gè)月(30天)為止”,百萬富翁很高興,欣然接受了這個(gè)契約。請編程計(jì)算在這一個(gè)月中陌生人總計(jì)給百萬富翁多少錢,百萬富翁總計(jì)給陌生人多少錢。 **輸入提示信息和數(shù)據(jù)格式:無 **輸出提示信息和數(shù)據(jù)格式:cout << "百萬富翁給陌生人:" << toStranger << "元" << endl;
8、 cout << "陌生人給百萬富翁:" << toRichman << "元" << endl;
#include
9、 += 100000; /* 陌生人每天給富翁10萬元 */
toStranger += term;
term = term * 2; /* 富翁每天給陌生人的錢是前一天的兩倍 */
}
cout << "百萬富翁給陌生人:" << toStranger << "元" << endl;
cout << "陌生人給百萬富翁:" << toRichman << "元" << endl;
return 0;
}
Q8.(10分)編程計(jì)算自然數(shù)的立方和,直到立方和大于等于1000000時(shí)為止。統(tǒng)計(jì)并輸出實(shí)際累加的項(xiàng)數(shù)。
輸出格式要求:cout<<"sum="< 10、;
cout << "count =" << i << endl;
輸出結(jié)果為: sum=1071225
count =45
#include 11、ndl;
return 0;
}
Q9.(10分)求多項(xiàng)式 1!+2!+3!+……+15!的值。
輸出格式要求:cout<<"s="< 12、出。
質(zhì)數(shù)(素?cái)?shù))的說明:“質(zhì)數(shù)是只能被1和其本身整除的數(shù)”。
輸入提示要求:無
輸出結(jié)果格式要求:質(zhì)數(shù)之間以一個(gè)空格隔開
輸出所有質(zhì)數(shù)后換行輸出:sum=4227
#include 13、i > tmp)
{
cout << m << " ";
sum += m;
}
}
cout << endl;
cout << "sum=" << sum << endl;
return 0;
}
Q11.(10分)在一個(gè)已知的一維數(shù)組中分類統(tǒng)計(jì)正數(shù)和負(fù)數(shù)的個(gè)數(shù)。正數(shù)的個(gè)數(shù)存入變量C1中,負(fù)數(shù)個(gè)數(shù)存入變量C2中.
輸出格式要求:cout << "c1=" << c1 << endl;
cout << "c2=" << c2 << endl;
#include 14、in()
{
int a[10] = {1, -2, 0, 4, -5, 0, 7, 8, -9, 10};
int c1 = 0, c2 = 0;
int i;
for (i = 0; i < 10; i++)
if (a[i] > 0)
c1++;
else if (a[i] < 0)
c2++;
cout << "c1=" << c1 << endl;
cout << "c2=" << c2 << endl;
return 0;
}
Q12.(10分)在包含10個(gè)數(shù)的一維整數(shù)數(shù)組a中查找最大元素max和最小元素min。
輸出格式要求:cout < 15、< "最大元素:" << max << endl;
cout << "最小元素:" << min << endl;
#include 16、(a[i] < min) min = a[i];
}
cout << "最大元素:" << max << endl;
cout << "最小元素:" << min << endl;
return 0;
}
Q13.(10分)用while循環(huán)編程,求自然數(shù)1至100之間各奇數(shù)平方和sum。
輸出結(jié)果格式為:sum=166650
#include 17、ut << "sum=" << sum << endl;
return 0;
}
Q14.(10分)判斷一個(gè)數(shù)23437是否是素?cái)?shù)(要求程序中設(shè)置一個(gè)參數(shù)flag,flag為1代表是素?cái)?shù),為0代表不是)
輸出結(jié)果:0
#include 18、 endl;
return 0;
}
Q15.(10分)已知一個(gè)數(shù)m(=252),用循環(huán)求各位數(shù)字之和。
輸出結(jié)果格式:s=9
#include 19、=20
#include 20、1
2332
#include 21、& c == b)
{
cout << m[i] << endl;
n++;
}
}
return 0;
}
Q18.(10分)將1-100之間奇數(shù)順序累加存入n中,直到其和等于或大于200為止。
輸出結(jié)果格式:n=225
#include 22、從鍵盤上輸入三個(gè)整數(shù),編寫程序求出三個(gè)數(shù)中的最大值。
輸入格式要求:cout<<"請輸入三個(gè)整數(shù):";
輸出格式要求:cout<<"最大值是:"< 23、 a;
cout << "最大值是:" << max << endl;
return 0;
}
Q20.(10分)輸入年份和月份,編寫程序,判斷這一年該月份的天數(shù)。
輸入格式要求: cout << "請輸入年份和月份:";
輸出格式要求:cout << year << "年" << month << "月" << "是" << day << "天。" << endl;
#include 24、 >> year >> month;
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
case 2:
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
day = 29;
else
day = 28;
break;
}
cout << year << 25、 "年" << month << "月" << "是" << day << "天。" << endl;
return 0;
}
Q21.(10分)
編寫程序,求解下面的分段函數(shù):
輸入格式要求:cout<<"請輸入x:";
輸出格式要求:cout<<"y="< 26、*x;
cout<<"y="< 27、10分)利用選擇法將下面10個(gè)數(shù)按降序排列。
有如下定義:int n[10] = {5, 6, 4, 2, 3, 7, 8, 5, 6, 7};
輸入格式要求:無
輸出格式要求:以逗號分隔降序數(shù)列
#include 28、
k = j;
t = n[i];
n[i] = n[k];
n[k] = t;
}
for (j = 0; j < 10; j++)
cout << n[j] << ",";
return 0;
}
Q24.(10分)定義數(shù)組,輸入不多于20名若干學(xué)生成績,統(tǒng)計(jì)高于平均分的人數(shù)k,用-1做結(jié)束標(biāo)志。
輸入格式要求:無
輸出格式要求:cout << "高于平均分的人數(shù):" << k << endl;
#include 29、;
int n = 0, k = 0, i;
cin >> cj[0];
while (cj[n] >= 0)
{
sum += cj[n];
n++;
cin >> cj[n];
}
aver = sum /( n-1);
for (i = 0; i < n-1; i++)
if (cj[i] > aver) k++;
cout << "高于平均分的人數(shù):" << k << endl;
return 0;
}
Q25.(10分)已知三個(gè)數(shù)a,b,c,按由小到大的順序存入a,b,c中并輸出.
輸入格式要求:cout << "輸入三個(gè)整數(shù):";
輸出格式要求 30、:cout << "由小到大的順序是:" << a << "," << b << ","< 31、ut << "由小到大的順序是:" << a << "," << b << ","< 32、;
}
cout <<"sum= " << sum << endl;
return 0;
}
Q27.(10分)編寫函數(shù),刪除字符串中的指定字符,函數(shù)原型為:
void deletechar(char *string, char ch);
設(shè)char c[100] = "abcdabcd aabbccdd";
輸出結(jié)果:bcdbcd bbccdd
#include 33、 k(0);
while (string[i++] != \0)
if (string[i] != ch)
string[k++] = string[i];
string[k] = \0;
}
int main ()
{
char c[100] = "abcdabcd aabbccdd";
deletechar(c, a);
cout << c << endl;
return 0;
}
Q28.(10分)編寫函數(shù),將一個(gè)十進(jìn)制無符號整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù),函數(shù)原型為:
void transform(char*p,long i,int base=2);
#includ 34、e 35、 \0;
}
int main()
{
char c[256];
transform(c, 45678, 2);
cout << c << endl;
return 0;
}
Q29.(10分)輸入10個(gè)學(xué)生的成績,存放在一個(gè)一維數(shù)組中,求出總分和平均分。
輸入提示信息格式要求: cout << "請輸入學(xué)生的分?jǐn)?shù):";
輸出結(jié)果格式要求:cout << "學(xué)生的總分是:" << sum << endl;
cout << "學(xué)生的平均分是:" << aver << endl;
#include 36、nclude 37、
Q30.(10分)輸入10個(gè)學(xué)生的成績,存放在一個(gè)一維數(shù)組中,找出其中的最高分和所對應(yīng)的學(xué)生。
輸入提示信息格式要求:cout << "請輸入學(xué)生的分?jǐn)?shù):";
輸出提示信息格式要求:cout << "第" << n + 1 << "名學(xué)生的分?jǐn)?shù)最高,是:" << max << endl;
#include 38、];
for (i = 1; i <= 9; i++)
if (max < a[i])
{
max = a[i];
n = i;
}
cout << "第" << n + 1 << "名學(xué)生的分?jǐn)?shù)最高,是:" << max << endl;
return 0;
}
Q31.(10分)求一個(gè)33矩陣的對角線元素之和。
輸入提示信息格式要求: cout << "請輸入3行3列矩陣的元素:" << endl;
輸出提示信息格式要求: cout << "請輸出這個(gè)3行3列的矩陣:" << endl;
cout << "對角線元素之 39、和為:" << sum << endl;
#include 40、r (j = 0; j < 3; j++)
cout << setw(5) << a[i][j];
cout << endl;
}
for (i = 0; i < 3; i++)
sum += a[i][i];
cout << "對角線元素之和為:" << sum << endl;
return 0;
}
Q32.(10分)用公式 π=4-4/3+4/5-4/7+...)計(jì)算π的近似值,直到最后一項(xiàng)絕對值小于1e-5
輸入格式要求:無
輸出結(jié)果格式要求: cout << "pi =" << pi << endl;
#include 41、namespace std;
int main()
{
double pi = 0;
double n = 1;
int f = 1;
while (4.0 / n >= 1e-5)
{
pi = pi + f * 4 / n;
n = n + 2;
f = -f;
}
cout << "pi =" << pi << endl;
return 0;
}
Q33.(10分)求一個(gè)44矩陣的四周元素之和。
輸入提示信息格式要求:cout << "請輸入4行4列矩陣的元素:" << endl;
輸出提示信息格式要求:cout << "請輸出這個(gè)4行4列的矩陣:" < 42、< endl;
cout << "四周元素之和為:" << sum << endl;
#include 43、的矩陣:" << endl;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
cout << setw(5) << a[i][j];
cout << endl;
}
for (i = 0; i < 4; i++)
for (j = 0; j < 4; j++)
if (i == 0 || i == 3 || j == 0 || j == 3)
sum += a[i][i];
cout << "四周元素之和為:" << sum << endl;
return 0;
}
Q34.(10分)4個(gè)學(xué)生學(xué)習(xí)5門功課,要求 44、輸入所有學(xué)生的各門功課的成績,并分別求出每門功課的平均成績。
輸入提示信息格式要求: cout << "輸入第" << i + 1 << "個(gè)學(xué)生成績:";
輸出提示信息格式要求: cout << "第" << i + 1 << "個(gè)學(xué)生平均成績:" << setprecision(3) << sum / 5 << endl;
}
#include 45、i < 4; i++)
{
cout << "輸入第" << i + 1 << "個(gè)學(xué)生成績:";
for (j = 0; j < 5; j++)
cin >> s[i][j];
}
for (i = 0; i < 4; i++)
{
sum = 0;
n = 0;
for (j = 0; j < 5; j++)
sum += s[i][j];
cout << "第" << i + 1 << "個(gè)學(xué)生平均成績:" << setprecision(3) << sum / 5 << endl;
}
return 0;
}
Q35.(10分)請輸入10個(gè)整數(shù)到一個(gè) 46、一維數(shù)組,并逆序輸出。
輸入提示信息格式要求:無
輸出提示信息格式要求:cout << a[i] << " ";
#include 47、0], i;
for (i = 0; i <= 9; i++)
a[i] = i;
for (i = 9; i >= 0; i--)
cout << a[i] << " ";
return 0;
}
Q36.(10分)在a數(shù)組和b數(shù)組中放入an+1和bn+1個(gè)由小到大的有序數(shù),程序把兩個(gè)數(shù)組中的數(shù)按由小到大的順序歸并在c數(shù)組中。
設(shè): int a[10] = {2, 4, 5, 8, 9, 19}, an = 5;
int b[10] = {2, 3, 4, 8, 12, 18}, bn = 5;
輸出格式要求:輸出結(jié)果用2個(gè)空格隔開
48、 cout << endl;
#include 49、[k] = a[i];
k++;
i++;
}
else
{
c[k] = b[j];
k++;
j++;
}
for (i = 0; i < k; i++)
cout << c[i] << " ";
cout << endl;
return 0;
}
Q37.(10分)請輸出如下方陣:
1 2 2 2 2 2 1
3 1 2 2 2 1 4
3 3 1 2 1 4 4
3 3 3 1 4 4 4
3 3 1 5 1 4 4
3 1 5 5 5 1 4
1 5 5 5 50、 5 5 1
輸出格式要求:數(shù)據(jù)之間用2個(gè)空格隔開。
#include 51、 < j && i + j > 6)
a[i][j] = 4;
else
a[i][j] = 5;
}
for (i = 0; i < 7; i++)
{
for (j = 0; j < 7; j++)
cout << a[i][j] << " ";
cout << endl;
}
return 0;
}
Q38.(10分)輸入20個(gè)整數(shù),統(tǒng)計(jì)非負(fù)數(shù)的個(gè)數(shù),并計(jì)算它們的和,然后將非負(fù)數(shù)從小到大進(jìn)行排序并輸出。
輸入信息提示要求:無
輸出提示信息格式要求:cout<<"非負(fù)數(shù)有:"< 52、數(shù)是:"< 53、s = 0, n = 0, i, j, t;
for (i = 0; i <= 19; i++)
cin >> a[i];
for (i = 0; i <= 19; i++)
{
if (a[i] > 0)
{
a[n] = a[i];
n++;
}
}
cout << "非負(fù)數(shù)有:" << n << "個(gè)" << endl;
cout << "非負(fù)數(shù)是:" << endl;
for (i = 0; i < n; i++)
cout << setw(5) << a[i];
cout << endl;
for (i = 0; i < n; i++)
s = s 54、+ a[i];
cout << "非負(fù)數(shù)的和是:" << s << endl;
for (i = 0; i <= n - 2; i++)
for (j = i + 1; j <= n - 1; j++)
if (a[i] > a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
cout << "將非負(fù)數(shù)從小到大排序輸出:" << endl;
for (i = 0; i < n; i++)
cout << setw(5) << a[i];
cout << endl;
return 0;
}
Q39.(10分)輸入10名學(xué)生語文、數(shù) 55、學(xué)、外語課成績,計(jì)算每名學(xué)生三門課的平均成績,輸出每人各科成績及平均成績,并分析三門課程的優(yōu)秀率,90分以上為優(yōu)秀。
輸入提示信息格式控制:cout<<"輸入第"<
#include
using namespace std;
int main()
{
int n = 1, s = 0;
for (int i = 1; i <= 15; i++)
{
n = n * i;
s += n;
}
cout << "s=" << s << endl;
return 0;
}
Q10.(10分)求1至200之間的所有質(zhì)數(shù),將質(zhì)數(shù)和存入變量 sum 中并輸
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 110中國人民警察節(jié)(筑牢忠誠警魂感受別樣警彩)
- 2025正字當(dāng)頭廉字入心爭當(dāng)公安隊(duì)伍鐵軍
- XX國企干部警示教育片觀后感筑牢信仰之基堅(jiān)守廉潔底線
- 2025做擔(dān)當(dāng)時(shí)代大任的中國青年P(guān)PT青年思想教育微黨課
- 2025新年工作部署會(huì)圍繞六個(gè)干字提要求
- XX地區(qū)中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 支部書記上黨課筑牢清廉信念為高質(zhì)量發(fā)展?fàn)I造風(fēng)清氣正的環(huán)境
- 冬季消防安全知識培訓(xùn)冬季用電防火安全
- 2025加強(qiáng)政治引領(lǐng)(政治引領(lǐng)是現(xiàn)代政黨的重要功能)
- 主播直播培訓(xùn)直播技巧與方法
- 2025六廉六進(jìn)持續(xù)涵養(yǎng)良好政治生態(tài)
- 員工職業(yè)生涯規(guī)劃方案制定個(gè)人職業(yè)生涯規(guī)劃
- 2024年XX地區(qū)黨建引領(lǐng)鄉(xiāng)村振興工作總結(jié)
- XX中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 幼兒園期末家長會(huì)長長的路慢慢地走