大學(xué)C++題庫及答案_第1頁
大學(xué)C++題庫及答案_第2頁
大學(xué)C++題庫及答案_第3頁
大學(xué)C++題庫及答案_第4頁
大學(xué)C++題庫及答案_第5頁
已閱讀5頁,還剩106頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Q5.(io分)寫?個程序根據(jù)從鍵盤輸入的里氏強度顯示地震的后果。根據(jù)

里氏強度地震的后果如下:

里氏強度后果

小于4很小

4.0到5.0窗戶晃動

5.0到6.0墻倒塌;不結(jié)實的建筑物被破壞

6.0到7.0煙囪倒塌;普通建筑物被破壞

7.0到8.0地下管線破裂;結(jié)實的建筑物也被破壞

超過8.0地面波浪狀起伏;大多數(shù)建筑物損毀

**輸入格式要求:實數(shù),提示信息:cout”請輸入地震的里氏強度:“〈<endl;

**輸出格式要求:

〃本次地震后果:很??!”

“本次地震后果:窗戶晃動!”

“本次地震后果:墻倒塌;不結(jié)實的建筑物被破壞!”

“本次地震后果:煙囪倒塌;普通建筑物被破壞!”

“本次地震后果:地下管線破裂;結(jié)實的建筑物也被破壞!”

〃本次地震后果:地面波浪狀起伏;大多數(shù)建筑物損毀!”

?include<iostream>

usingnamespacestd;

intmain()

(

doublemagnitude;

cout<<”請輸入地震的里氏強度:"<<endl;

cin>>magnitude;

if(magnitude<4.0)

(

cout<<"本次地震后果:很??!"<<endl;

)

elseif(magnitude<5.0)

(

cout<<"本次地震后果:窗戶晃動!"<<endl;

)

elseif(magnitude<6.0)

cout?"本次地震后果:墻倒塌;不結(jié)實的建筑物被破壞!"<<endl;

elseif(magnitude<7.0)

cout?"本次地震后果:煙囪倒塌;普通建筑物被破壞!"<<endl;

}

elseif(magnitude<8.0)

(

cout<<"本次地震后果:地下管線破裂;結(jié)實的建筑物也被破壞!"<<endl;

)

else

(

cout?"本次地震后果:地面波浪狀起伏;大多數(shù)建筑物損毀!"<<endl;

)

return0;

)

Q6.(10分)寫一個程序從鍵盤輸入1到7中的某個數(shù)字,其中1代表星期天,

2代表星期一,3代表星期二等。根據(jù)用戶輸入的數(shù)字顯示相應(yīng)的星期兒。如果

用戶輸入的數(shù)字超出了1到7的范圍,顯示輸出一個錯誤提示信息。

**輸入格式要求:整數(shù),提示信息:cout<<"Pleaseinputasingle

numeral(1-7):〃;

**的出格式要求:〃Monday"(星期兒的英文單詞首字母大寫加換行)

提示信息:“Invalid-pleaseinputasinglenumeral(1—7).〃(力口換彳亍)

#include<iostream>

usingnamespacestd;

intmain()

(

inta;

cout<<nPleaseinputasinglenumeral(1-7):n;

cin>>a;

if(a<1||a>7)

(

cout<<"Invalid-pleaseinputasinglenumeral(1-7).n<<end

}

switch(a)

(

case1:

cout<<"Sunday”<<endl;

break;

case2:

cout<<"Monday"<<endl;

break;

case3:

cout<<"Tuesdayn<<endl;

break;

case4:

cout<<"Wednesdayn<<endl;

break;

case5:

cout<<"Thursday”<<endl;

break;

case6:

cout<<"Friday”<<endl;

break;

case7:

cout<<"Saturday”<<endl;

break;

}

return0;

}

Q7.(io分)有一天,一位百萬富翁遇到一個陌生人,陌生人找他談一個換錢

的計劃,陌生人對百萬富翁說:“我每天給你10萬元,而你第一天只需給我1

分錢,第二天我仍給你10萬元,你給我2分錢,第三天我仍給你10萬元,你給

我4分錢……。你每天給我的錢是前一天的兩倍,直到滿一個月(30天)為止”,

百萬富翁很高興,欣然接受了這個契約。請編程計算在這一個月中陌生人總計給

百萬富翁多少錢,百萬富翁總計給陌生人多少錢。

**輸入提示信息和數(shù)據(jù)格式:無

**輸出提示信息和數(shù)據(jù)格式:cout?”百萬富翁給陌生人:〃<<toStranger?

〃元〃?endl;

cout<<〃陌生人給百萬富翁:〃<<toRichman?

元〃<<endl;

#include<iostream>

usingnamespacestd;

intmain()

intj;

doubletoStranger=0;/*富翁給陌生人的錢,以,元,為單位*/

doubletoRichman=0;/*陌生人給富翁的錢,以,元,為單位*/

doubleterm=0.01;/*富翁第一天給陌生人0.01元*/

for(j=1;j<=30;j++)

toRichman+=100000;/*陌生人每天給富翁10萬元*/

toStranger+=term;

term=term*2;/*富翁每天給陌生人的錢是前?天的兩倍*

}

cout<<”百萬富翁給陌生人:"<<toStranger<<"元"<<endl;

cout<<”陌生人給百萬富翁:”<<toRichman<<"元"<<endl;

return0;

Q8.(10分)編程計算自然數(shù)的立方和,直到立方和大于等于1000000時為止。

統(tǒng)計并輸出實際累加的項數(shù)。

輸出格式要求:cout<<,,sum=,,<<sum<<endl;

cout?”count=〃<<i?endl;

輸出結(jié)果為:sum=1071225

count=45

?include<iostream>

usingnamespacestd;

intmain()

{

longi,sum=0;

for(i=1;;i++)

(

sum=sum+i*i*i;

if(sum>=1000000)break;

}

cout<<nsum=n<<sum<<endl;

cout<<Hcount="<<i<<endl;

return0;

Q9.(10分)求多項式l!+2!+3!+……+15!的值。

輸出格式要求:cout<<,,s=z,<<s?endl;

#include<iostream>

usingnamespacestd;

intmain()

(

intn=1,s=0;

for(inti=1;i<=15;i++)

(

n=n*i;

s+=n;

}

cout<<"s="<<s<<endl;

return0;

}

Q10.(10分)求1至200之間的所有質(zhì)數(shù),將質(zhì)數(shù)和存入變量sum中并輸出。

質(zhì)數(shù)(素數(shù))的說明:“質(zhì)數(shù)是只能被1和其本身整除的數(shù)”。

輸入提示要求:無

輸出結(jié)果格式要求:質(zhì)數(shù)之間以一個空格隔開

輸出所有質(zhì)數(shù)后換行輸出:sum=4227

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain()

(

intN,m,sum=0;

for(m=2;m<=200;m++)

(

inti,tmp=(int)sqrt(m);

for(i=2;i<=tmp;i++)

if(m%i==0)

break;

if(i>tmp)

(

cout<<m<<"n;

sum+=m;

)

}

cout<<endl;

cout<<”sum="<<sum<<endl;

return0;

}

Qll.(10分)在一個已知的一維數(shù)組中分類統(tǒng)計正數(shù)和負數(shù)的個數(shù)。正數(shù)的個數(shù)存入變量Cl中

量C2中.

輸出格式要求:cout<<〃cl=〃<<cl<<endl;

cout?〃c2二〃<<c2<<endl;

#include<iostream>

usingnamespacestd;

intmain()

(

inta[10]={1,—2,0,4,-5Z0,7,8,-9,10);

intcl=0rc2=0;

inti;

for(i=0;i<10;i++)

if(a[i]>0)

cl++;

elseif(a[i]<0)

c2++;

cout<<nc1=11<<cl<<endl;

cout<<"c2="<<c2<<endl;

return0;

Q12.(10分)在包含10個數(shù)的一維整數(shù)數(shù)組a中查找最大元素max和最小元

素mino

輸出格式要求:cout?〃最大元素:〃<<max<<endl;

cout?〃最小元素:〃?min<<endl;

?include<iostream>

usingnamespacestd;

intmain()

(

inta[10]={32,43,65,23,432,543,543,54,542,87);

inti;

intmax,min;

max=a[0]zmin=a[0];

for(i=1;i<10;i++)

(

if(a[i]>max)max=a[i];

if(a[i]<min)min=a[i];

}

cout<<”最大元素:"<<max<<endl;

cout<<”最小元素:"<<min<<endl;

return0;

QI3.(10分)用while循環(huán)編程,求自然數(shù)1至100之間各奇數(shù)平方和

sumo

輸出結(jié)果格式為:sum=166650

#include<iostream>

usingnamespacestd;

intmain()

(

inti=1,sum=0;

while(i<=100)

(

sum+=i*i;

i+=2;

)

cout<<nsum=n<<sum<<endl;

return0;

)

QI4.(10分)判斷一個數(shù)23437是否是素數(shù)(要求程序中設(shè)置一個參數(shù)

flag,flag為1代表是素數(shù),為0代表不是)

輸出結(jié)果:0

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain()

(

intm,n,flag=1;

m=23437;

for(n=2;n<=m/2&&flag;n++)

if(m%n==0)flag=0;

cout<<flag<<endl;

return0;

QI5.(10分)已知一個數(shù)m(=252),用循環(huán)求各位數(shù)字之和。

輸出結(jié)果格式:s=9

#include<iostream>

usingnamespacestd;

intmain()

(

intm=252,a,b,c,s;

a=m/100;

b=m/10%10;

c=m%10;

s=a+b+c;

cout<<”s="<<s<<endl;

return0;

)

QI6.(10分)已知?個數(shù)m(=252),用循環(huán)求各位數(shù)字之積。

輸出結(jié)果格式:f=20

#include<iostream>

usingnamespacestd;

intmain()

{

intm,f=l,n;

m=252;

while(m!=0)

(

n=m%10;

f*=n;

m=m/10;

}

cout<<nf=n<<f<<endl;

return0;

}

QI7.(10分)已知10個四位數(shù)輸出所有對稱數(shù)及個數(shù)n。例如1221,2332

都是對稱數(shù)。

設(shè):intm[10]={1221,2243,2332,1435,1236,5623,4321,4356,6754,

3234);

輸出結(jié)果:1221

2332

?include<iostream>

usingnamespacestd;

intmain()

(

inti,n=0,m[10]={1221,2243,2332,1435,1236,5623,4321z4356,

for(i=0;i<10;i++)

inta,b,c,d;

a=m[i]/1000;

b=m[i]%1000/100;

c=m[i]%100/10;

d=m[i]%10;

if(a==d&&c==b)

cout<<m[i]<<endl;

n++;

}

}

return0;

)

Q18.(10分)將1-100之間奇數(shù)順序累加存入n中,直到其和等于或大于200

為止。

輸出結(jié)果格式:n=225

#include<iostream>

usingnamespacestd;

intmain()

{

intn=0,i=1;

while(n<200)

(

n=n+i;

i++;

i++;

)

cout<<”n="<<n<<endl;

return0;

}

Q19.(io分)從鍵盤上輸入三個整數(shù),編寫程序求出三個數(shù)中的最大值。

輸入格式要求:cout?!闭堓斎肴齻€整數(shù):”;

輸出格式要求:cout<〈”最大值是:〃〈〈max〈〈endl;

?include<iostream>

usingnamespacestd;

intmain()

(

inta,b,czt,max;

cout<<”請輸入三個整數(shù):”;

cin>>a>>b>>c;

if(a<b)

(

t=a;

a=b;

b=t;

}

if(a<c)

(

t=a;

a=c;

c=t;

}

max=a;

cout<<”最大值是:"<<max<<endl;

return0;

Q20.(10分)輸入年份和月份,編寫程序,判斷這一年該月份的天數(shù)。

輸入格式要求:cout”請輸入年份和月份:〃;

輸出格式要求:cout<<year<<〃年〃<<month<<〃月〃<<〃是〃<<day<<

天?!?lt;<endl;

#include<iostream>

usingnamespacestd;

intmain()

(

intyear,month,day;

cout<<”請輸入年份和月份:”;

cin>>year>>month;

switch(month)

(

case1:

case3:

case5:

case7:

case8:

case10:

case12:

day=31;

break;

case4:

case6:

case9:

case11:

day=30;

break;

case2:

if(year%400==0||year%4==0&&year%100!=0)

day=29;

else

day=28;

break;

}

cout<<year<<“年”<<month<<“月“<<"是"<<day<<“天?!?lt;<en

return0;

}

Q21.(io分)

編寫程序,求解下面的分段函數(shù):

'x-8,-10<x<0

y=<x,x=Q

、x*x,0<x<10

輸入格式要求:cout<<"請輸入X:”;

輸Hl格式要求:cout<<ny=n<<y<<endl;

#include<iostream>

usingnamespacestd;

intmain()

(

doublex,y;

cout<〈”請輸入X:0;

cin>>x;

if(x>-10&&x<0)y=x-8;

if(x==0)y=x;

if(x>0&&x<10)y=x*x;

cout<<ny=n<<y<<endl;

return0;

}

Q22.(10分)用“輾轉(zhuǎn)相除方法”計算兩個數(shù)x,y的最大公約數(shù)。

輸入格式要求:無,直接輸入

輸出格式要求:無,直接輸出結(jié)果

#include<iostream>

usingnamespacestd;

intmain()

(

intx,y,n;

cin>>x>>y;

n=x%y;

while(n!=0)

(

x=y;

y=n;

n=x%y;

}

cout<<y<<endl;

return0;

}

Q23.(io分)利用選擇法將下面io個數(shù)按降序排列。

有如下定義:intn[10]={5,6,4,2,3,7,8,5,6,7);

輸入格式要求:無

輸出格式要求:以逗號分隔降序數(shù)列

#include<lostream>

usingnamespacestd;

intmain()

(

intn[10]={5,6,4,2,3,7,8,5,6,7},i,j,k,t;

for(i=0;i<9;i++)

(

k=i;

for(j=i+1;j<10;j++)

if(n[k]<n[j])

k=j;

t=n[i];

n[i]=n[k];

n[k]=t;

)

for(j=0;j<10;j++)

cout<<n[j]<<",";

return0;

}

Q24.(10分)定義數(shù)組,輸入不多于20名若干學(xué)生成績,統(tǒng)計高于平均分的

人數(shù)k,用T做結(jié)束標(biāo)志。

輸入格式要求:無

輸出格式要求:cout?”高于平均分的人數(shù):"<<k?endl;

?include<iostream>

usingnamespacestd;

intmain()

{

doublecj[20]zaverzsum=0;

intn=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;

return0;

}

Q25.(10分)已知三個數(shù)a,b,c,按由小到大的順序存入a,b.c中并輸出.

輸入格式要求:cout?”輸入三個整數(shù):”;

輸出格式要求:cout?〃由小到大的順序是:"?a<<出"?b?\"?c?endl;

?include<iostream>

usingnamespacestd;

intmain()

(

inta,b,czt;

cout<<"輸入三個整數(shù):”;

cin>>a>>b>>c;

if(a>b)

ta;

a=b;

b=t;

}

if(a>c)

(

t=a;

a=c;

c=t;

}

if(b>c)

(

t=b;

b=c;

c=t;

}

cout<<"由小至U大的順序是:"<<a<<","<<b<<","<<c<<endl;

return0;

)

Q26.(10分)編程計算sum=l!+2!+...+9!o

輸入格式要求:無

輸出格式要求:cout<<z,sum=〃?sum<<endl;

#include<iostream>

usingnamespacestd;

intmain()

{

intsum=0;

for(inti=l;i<=9;i++)

(

intx=l;

for(intj=l;j<=i;j++)

x=x*j;

sum=sum+x;

)

cout<<nsum="<<sum<<endl;

return0;

)

Q27.(io分)編寫函數(shù),刪除字符串中的指定字符,函數(shù)原型為:

voiddeletechar(char*string,charch);

設(shè)charc[100]="abcdabcdaabbccdd”;

輸出結(jié)果:bedbedbbeedd

#include<cstring>

#include<iostream>

usingnamespacestd;

voiddeletechar(char*string,charch)

(

inti(0),k(0);

while(string[i++]!=1\01)

if(string[i]!=ch)

string[k++]=string[i];

string[k]=*\0*;

)

intmain()

(

charc[100]=nabcdabcdaabbccdd11;

deletechar(c,1a1);

cout<<c<<endl;

return0;

Q28.(10分)編寫函數(shù),將一個十進制無符號整數(shù)轉(zhuǎn)換為二進制整數(shù),函數(shù)

原型為:

voidtransform(char*p,longi,intbase=2);

#include<iostream>

usingnamespacestd;

voidtransform(char*p,longi,intbase=2)

{

intr(0),k(0);

chart[128];

while(i>0)

(

r=i%base;

if(r<10)

t[k]=r+48;

else

t[k]=r+55;

i=i/base;

k++;

k--;

r=0;

while(k>=0)

{

*(p+r)=t[k];

r++;

k——;

}

*(p+r)=1\01;

}

intmain()

(

charc[256];

transform(cf45678,2);

cout<<c<<endl;

return0;

Q29.(io分)輸入io個學(xué)生的成績,存放在一個一維數(shù)組中,求出總分和平

均分。

輸入提示信息格式要求:cout?〃請輸入學(xué)生的分數(shù):〃;

輸出結(jié)果格式要求:cout?〃學(xué)生的總分是:〃“sum?endl;

cout<<〃學(xué)生的平均分是:〃<<aver?endl;

#include<iostream>

#include<iomanip>

usingnamespacestd;

intmain()

(

inta[10],sum,averzi;

sum=0;

cout<<”請輸入學(xué)生的分數(shù):”;

for(i=0;i<=9;i++)

cin>>a[i];

for(i=0;i<=9;i++)

sum=sum+a[i];

aver=sum/10;

cout<<"學(xué)生的總分是:"<<sum<<endl;

cout<<”學(xué)生的平均分是:"<<aver<<endl;

return0;

}

Q30.(io分)輸入io個學(xué)生的成績,存放在一個一維數(shù)組中,找出其中的最

高分和所對應(yīng)的學(xué)生。

輸入提示信息格式要求:cout?〃請輸入學(xué)生的分數(shù):〃;

輸出提示信息格式要求:cout?〃第〃6n+1?〃名學(xué)生的分數(shù)最高,是:

〃<<max<<endl;

#include<iostream>

usingnamespacestd;

intmain()

(

inta[10]rmax,irn;

cout<<”請輸入學(xué)生的分數(shù):”;

for(i=0;i<=9;i++)

cin>>a[i];

max=a[0];

for(i=1;i<=9;i++)

if(max<a[i])

(

max=a[i];

n=i;

)

cout<<"第”<<n+1<<”名學(xué)生的分數(shù)最高,是:”<<max<<endl;

return0;

}

Q31.(10分)求一個3X3矩陣的對角線元素之和。

輸入提示信息格式要求:cout”請輸入3行3列矩陣的元素:“endl;

輸出提示信息格式要求:cout久”請輸出這個3行3列的矩陣:“久endl;

cout<〈〃對角線元素之和為:〃<<sum?endl;

#include<iostream>

#include<iomanip>

usingnamespacestd;

intmain()

(

doublea[3][3],sum=0;

inti,j;

cout<<”請輸入3行3列矩陣的元素:"<<endl;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

cin>>a[i][j];

cout<<”請輸出這個3行3列的矩陣:"<<endl;

for(i=0;i<3;i++)

for(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;

return0;

Q32.(10分)用公式口=4-4/3+4/5-4/7+...)計算口的近似值,直到最后一

項絕對值小于le-5

輸入格式要求:無

輸出結(jié)果格式要求:cout?z,pi=,z?pi?endl;

#include<iostream>

usingnamespacestd;

intmain()

(

doublepi=0;

doublen=1;

intf=1;

while(4.0/n>=le-5)

(

pi=pi+f*4/n;

n=n+2;

f=-f;

}

cout<<"pi="<<pi<<endl;

return0;

Q33.(10分)求一個4X4矩陣的四周元素之和。

輸入提示信息格式要求:cout?〃請輸入4行4列矩陣的元素:〃“endl;

輸出提示信息格式要求:cout?〃請輸出這個4行4列的矩陣:〃《endl;

cout?"四周元素之和為:〃?sum<<endl;

?include<iostream>

#incltide<iomanip>

usingnamespacestd;

intmain()

doublea[4][4]zsum=0;

inti,j;

cout<<"請輸入4行4列矩陣的元素:"<<endl;

for(i=0;i<4;i++)

for(j=0;j<4;j++)

cin>>a[i][j];

cout<<”請輸出這個4行4列的矩陣:"<<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;

return0;

)

Q34.(10分)4個學(xué)生學(xué)習(xí)5門功課,要求輸入所有學(xué)生的各門功課的成績,

并分別求出每門功課的平均成績。

輸入提示信息格式要求:cout“輸入第"i+1<<"個學(xué)生成績:”;

輸出提示信息格式要求:cout久"第i+1《”個學(xué)生平均成績:"*

setprecision(3)<<sum/5?endl;

)

#include<iostream>

#include<iomanip>

usingnamespacestd;

intmain()

(

doubles[4][5],sum;

inti,j,n;

for(i=0;i<4;i++)

(

cout?"輸入第"<<i+1<<"個學(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<<”個學(xué)生平均成績:"<<setprecision(3)<<su

}

return0;

Q35.(io分)請輸入io個整數(shù)到一個一維數(shù)組,并逆序輸出。

輸入提示信息格式要求:無

輸出提示信息格式要求:cout?a[i]?"

#include<iostream>

usingnamespacestd;

intmain()

(

inta[10],i;

for(i=0;i<=9;i++)

cin>>a[i];

for(i=9;i>=0;i一一)

cout<<a[i]<<nn;

return0;

}

#include<iostream>

usingnamespacestd;

intmain()

inta[10]zi;

for(i=0;i<=9;i++)

a[i]=i;

for(i=9;i>=0;i--)

cout<<a[i]<<"

return0;

)

Q36.(10分)在a數(shù)組和b數(shù)組中放入an+1和bn+1個由小到大的有序數(shù),程序把兩個數(shù)組中E

順序歸并在c數(shù)組中。

設(shè):inta[10]={2,4,5,8,9,19},an=5;

intb[10]={2,3,4,8,12,18},bn=5;

輸出格式要求:輸出結(jié)果用2個空格隔開

cout<<endl;

#include<iostream>

usingnamespacestd;

intmain()

inta[10]{2,4r5,8,9,19},an=5;

intb[10]={2,3,4,8,12,18},bn=5;

inti,j,k,c[20]rmax=999;

a[an+1]=b[bn+1]max;

i=j=k=0;

while((a[i]!=max)||(b[j]!=max))

if(a[i]<b[j])

{

c[k]=a[i];

k++;

i++;

}

else

c[k]=b[j];

k++;

j++;

)

for(i=0;i<k;i++)

cout<<c[i]<<n"

cout<<endl;

return0;

}

Q37.(10分)請輸出如下方陣:

1222221

3122214

3312144

3331444

3315144

3155514

1555551

輸出格式要求:數(shù)據(jù)之間用2個空格隔開。

#include<iostream>

usingnamespacestd;

intmain()

(

inta[7][7],i,j;

for(i=0;i<7;i++)

for(j=0;j<7;j++)

if(i==jIIi+j=6)

a[i][j]=1;

elseif(i<j&&i+j<6)

a[i][j]=2;

elseif(i>j&&i+j<6)

a[i][j]=3;

elseif(i<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;

return0;

Q38.(10分)輸入20個整數(shù),統(tǒng)計非負數(shù)的個數(shù),并計算它們的和,然后將

非負數(shù)從小到大進行排序并輸出。

輸入信息提示要求:無

輸出提示信息格式要求:coutC〈〃非負數(shù)有:〃〃個〃<<endl;

cout<<〃非負數(shù)是:〃<<endl;

cout?setw(5)<<a[i];

cout<<〃非負數(shù)的和是:〃<<s<<endl;

cout?〃將非負數(shù)從小到大排序輸出:〃Oendl;

cout?setw(5)<<a[i];

#include<iostream>

#include<ioinanip>

usingnamespacestd;

intmain()

(

inta[20]zs=0,n=0,izjrt;

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<<"非負數(shù)有:"<<n<<"個"<<end!;

cout<<"非負數(shù)是:"<<end!;

for(i=0;i<n;i++)

cout<<setw(5)<<a[i];

cout<<endl;

for(i=0;i<n;i++)

s=s+a[i];

cout?”非負數(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<<"將非負數(shù)從小到大排序輸出:"<<endl;

for(i=0;i<n;i++)

cout<<setw(5)<<a[i];

cout<<endl;

return0;

}

Q39.(io分)輸入io名學(xué)生語文、數(shù)學(xué)、外語課成績,計算每名學(xué)生三門課

的平均成績,輸出每人各科成績及平均成績,并分析三門課程的優(yōu)秀率,90分

以上為優(yōu)秀。

輸入提示信息格式控制:cout。"輸入第<”個學(xué)生成績:”;

輸出提示信息格式控制:cout*〃第〃<<i+k<〃個學(xué)生的各科成績:〃;

cout<<,z\t平均成績:〃<<sum/3<〈endl;

cout?!ǖ凇ㄩT課程的優(yōu)秀率為:

z,?n/10.0?endl;

#include<iostream>

#include<iomanip>

usingnamespacestd;

intmain()

intscore[10][3]zsum;

inti,j,n;

for(i=0;i<10;i++)

(

cout<<"輸入第"<<i+l<<"個學(xué)生成績:";

for(j=0;j<3;j++)

cin>>score[i][j];

}

for(i=0;i<10;i++)

{

sum=0;

cout<<"第"<<i+l<<"個學(xué)生的各科成績:";

for(j=0;j<3;j++)

{

sum+=score[i][j];

cout<<setw(4)<<score[i][j];

)

cout<<n\t平均成績:U<<sum/3<<endl;

)

for(j=0;j<3;j++)

(

n=0;

for(i=0;i<10;i++)

if(score[i][j]>=90)n++;

cout<<"第"<<j+l<<"門課程的優(yōu)秀率為:"<<n/10.0<<endl;

)

return0;

Q40.(10分)

程序設(shè)計,已知平面上有一個圓,圓心坐標(biāo)為(2,2),半徑r為10請輸入一個點M的坐

標(biāo)(x,y),判斷點M是在圓內(nèi)、圓上還是在圓外。

要點分析:點M到圓心之間的距離d="(X-2)2+0-2)2/匕較d和r的大小確定點與

圓的關(guān)系。

輸入格式要求:cout<<"請出入點M的坐標(biāo)(x,y):

輸出格式要求:"點M在圓外?!?/p>

"點M在圓上?!?/p>

”點M在圓內(nèi)”

?include<iostream>

#include<cmath>

usingnamespacestd;

intmain()

(

doublex,y,d;

cout<<”請出入點M的坐標(biāo)(x,y):”;

cin>>x>>y;

d=sqrt((x-2)*(x-2)+(x-2)*(x-2));

if(d>l)

點M在圓外。n<<endl;

elseif(d=l)

cout<<"點M在圓上。"<<endl;

elseif(d<l)

cout<<”點M在圓內(nèi)w<<endl;

return0;

)

Q41.(10分)有若干個數(shù)放入數(shù)組中,計算其中正數(shù)的平均值aver.

設(shè):floata[6]={39,-47,21,2,-8,15},aver;

輸入格式要求:無

輸出結(jié)果為:aver=19.25

#include<iostream>

usingnamespacestd;

intmain()

floata[6]={39,-47,21,2,-8,15},aver;

intn=0,j;

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論