C++代碼-典型例題集錦-南通大_第1頁
C++代碼-典型例題集錦-南通大_第2頁
C++代碼-典型例題集錦-南通大_第3頁
C++代碼-典型例題集錦-南通大_第4頁
C++代碼-典型例題集錦-南通大_第5頁
已閱讀5頁,還剩140頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

AllrightsreservedbySunWJ

1013022055

/*編寫程序,根據(jù)輸入的X的值,按卜.列公式計算并輸出y的值

當(dāng)-5<=xv=5且x!=0時y=x-l

當(dāng)x=0時y=x+l

當(dāng)5<x<=IOO時y=x+5

當(dāng)x為其他值時y=100*/

#include<iostream>

usingnamespacestd;

intmain(void)

{

intx,y;

cout?”請輸入一個x:M;

cin?x;

if(?5v=x&&xv=5&&x!=0)coutvv”y=x?l”vv”即y等于:u?x-l;

elseif(x=O)cout?,'y=x+r,?',BPy等于:H?x+1;

clscif(5<x&&x<=10)cout?”y=x+5”<v”即y等于:n?x+5;

elsecout?,,y=M?l00;

cout?endl;

return0;

}

/*輸入5個百分制成績,求出總成績及平均成績*/

#include<iostream>

usingnamespacestd;

intmain(void)

(

floata,b,c,d,e,sum,ave;

cout?”輸入5個百分制成績:”;

cin?a?b?c?d?e;

sum=a+b+c+d+e;

avc=sum/5.0f;

cout?H總成績?yōu)椋?〈〈sum<<endl;

coutw”平均成績?yōu)椋骸眝vave?endl;

return0;

/*編寫程序,輸入一個三位正整數(shù),輸出各位數(shù)字組成的最大值。例如:輸入“123”,輸出“321”。*/

#include<iostrcam>

usingnamespacestd;

intmain(void)

(

inta,b,c,max,mid,min,x;

coutvv”輸入一個三位正整數(shù):'?;

cin?x;

1

AllrightsreservedbySunWJ

1013022055

a=int(x/100);

b=int((x-a*100)/10);

c=int(x-a*100-b*10);

〃分別得出該三位數(shù)的每一位上的值,并分別賦給a,b,c

max=a;

if(b>a)max=b;

if(max<c)max=c;

〃求出三個數(shù)的最大值

mid=b;

if(a<b&&c<a)mid=a;

if(a<c&&c<b)mid=c;

〃求出三個數(shù)的市間值

min=a;

if(a>b)min=b;

if(c<min)min=c;

〃求出三個數(shù)的最小值

coutwxvv”轉(zhuǎn)換后的形式為:"vvmaxvvmidwminvvendl;

return0;

/*輸入若干個百分制成績,求出總成績及平均成績。提示:由丁?成績值不可能小于0,因此可將負(fù)值作

為輸入結(jié)束的標(biāo)志7

#include<iostream>

usingnamespacestd;

intmain(void)

(

floatsum=0,ave,g;

intn;

coutvv”請輸入n個百分制成績并以一個負(fù)數(shù)結(jié)束輸入“vvendl;

fbr(n=l;;n=n-H-)

(

cin?g;

if(g<0)break;breaki.1J"束循環(huán)

sum+=g;

)

ave=sum/n;

cout?"總成績?yōu)椋篣?sum?endl

<<“平均成績?yōu)?<<avev<cndl;

return0;

/*輸入若干個百分制成績,求出總成績及平均成績。提示:由于成績值不可能小于0,因此可將負(fù)值作

為輸入結(jié)束的標(biāo)志*/

#include<iostream>

2

AllrightsreservedbySunWJ

1013022055

usingnamespacestd;

intmain(void)

(

floatsum=O,ave,a,n=1;

coutvv”輸入n個懺務(wù)制成績,并以一個負(fù)數(shù)結(jié)束輸入"Wendi;

loop:cin?a;

if(a>0)

{

sum=a+sum;

ave=sum/n/1.0;

n=n++;

gotoloop;/goto和if組成循環(huán)

}

cout?u總成績?yōu)椋?v〈sumwendl

vv”平均成績?yōu)椋骸薄禷vev<endl;

return0;

/*輸入若干個百分制成績,輸出對應(yīng)的五分制成績,輸入結(jié)束后再分別輸出這五個分段的人數(shù)。五分制

成績用字母A、B、C、D和E分別表示百分制成績的100?90、89?80、79?70、69?60、59-0*/

#include<iostream>

usingnamespacestd;

intmain(void)

{

floatx;

inta=0,b=0,c=0,d=0,e=0;

coutw”請輸入n個百分制成績:"wendl;

for(;;)

{

cin?x;

if(x<0)break;

if(90<=x&&x<=100)

{coutvvxvv”分對應(yīng)的等級是:,'?',A',?endl;a4-=l;}

if(80<=x&&x<90)

{coutwxvv”分對應(yīng)的等級是:“vv"B”wendl;b+=l;}

ifp0<=x&&x<80)

{coutwxw”分對應(yīng)的等級是:“vv"C”《endl;c+=l;}

if(60<=x&&x<70)

{coutvvxw”分對應(yīng)的等級是:“vv"D”vvendl;d+=l;}

ifi(0<=x&&x<60)

{coutwxw”分對應(yīng)的等級是:,'?'tE',?endl;e+=l;}

}

cout<<”等級為A的人數(shù)為:”v〈av<endl

<<”等級為B的人數(shù)為:"<<b?endl

3

AllrightsreservedbySunWJ

1013022055

〈V”等級為C的人數(shù)為:n?c?endl

等級為D的人數(shù)為:n?d?endl

號”等級為E的人數(shù)為:n?e?endl;

return0;

/*設(shè)計一個程序,輸出所有的水仙花數(shù)。所謂水仙花數(shù)是一個三位數(shù)

其各位數(shù)字的立方和等于該數(shù)本身。例如:153=1八3+5八3+3八3s17

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain(void)

inta,b,c,d;

for(a=100;a<=999;a++)

b=int(a/100);

c=int((a-b*100)/10);

d=int(a-b*l00-c*l0);

〃分別得出三位數(shù)三個位上的數(shù)

if(a==pow(b,3)+pow(c,3)+pow(d,3))

cout?a<<”為水仙花數(shù)”<<endl;

return0;

/*編寫程序,計算100至U200之內(nèi)所有素數(shù)的和*/

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain(void)

(

intx,i,sum=0;

for(x=100;x<=200;x++)

(

fbr(i=2;i<=sqrt(x);i++)

{if(x%i=0)break;}

if(i>sqrt(x))sum+=x;

}

cout?n100至ij200以內(nèi)的素數(shù)之和為:"<vsum?endl;

return0;

/*編寫程序,求出100至IJ200之間的素數(shù),并按每行5個輸出。*/

4

AllrightsreservedbySunWJ

1013022055

#include<iostrcam>

#include<cmath>

#include<iomanip>

usingnamespacestd;

intmain(void)

{

intx,i;

for(x=100;x<=200;x++)

(

fbr(i=2;i<=sqrt(x);i++)

{if(x%i=O)break;}

if(i>sqrt(x))cout?setw(16)?left?x;

}

cout?endl;

return0;

/*編寫程序,按以下公式求出數(shù)列的前20項并輸出

y=0(n=0)

y=l(n=l)

y=y(n-l)+y(n-2)(n>=2)*/

#include<iostream>

usingnamespacestd;

intmain(void)

(

intn=l,a,b;

cout?0<<endl<<1?endl;

a=0,b=l;

while(n<=9)川月為.'I;"cout?avvendl〈vb<vend『有兩項,所以只要執(zhí)行9次循環(huán)。

(

a=a+b;

b=a+b;

n+=l;

cout?a?endl?b?endl;

}

return0;

/*輸入一個整數(shù),輸出該整數(shù)的所有素數(shù)因子。例如:輸入“12”,輸出為“2,2,3-*/

#include<iostrcam>

usingnamespacestd;

intmain(void)

5

AllrightsreservedbySunWJ

1013022055

intn,c=2;

cout?”請輸入一個整數(shù):”;

cin?n;

coutw”結(jié)果是:”;

while(n>c)

(

if(n%c==O)

{

cout?c?w,M;

n=n/c;

)

else

{C++;}

}

cout?n;

cout?endl;

return0;

/*自守數(shù)是平方后尾數(shù)等于該數(shù)自身的白然數(shù)。例如:25*25=62576*76=5776任意輸入一個白然數(shù)(設(shè)

不超過3位)判斷其是否為自守數(shù)并輸出,如:25YES25*25=62511NO11*11=121,

*/

#include<iostream>

usingnamespacestd;

intmain(void)

(

intx,a,b,c;

cout?"輸入一個自然數(shù)(不超過3位):";

cin?x;

if(x<4)

{

if(x*x=x)cout?x?n,,?nYes',?,',,?x?,'*',?x?M=',?x*x;

elsecout?x?HH?',Non?H—"?x*x;

}

elseif(4<=x&&x<10)

(

a=x*x;

if((a-a/10*10)==x)coutwxw”“vv“Yes“w””v〈xvv"*“vvxvv”="vva;

elsecout?x?HM?,,No,,?*'H?x?,'*',?x?M=n?a;

)

elseif(10<=x&&x<32)

(

a=x*x;

6

AllrightsreservedbySunWJ

1013022055

b=a-a/100*100;

if(b==x)cout?x?n"?nYes',?u,,?x?,,*n?x?u=H?a;

elsecout?x?n,,?,'Non?u,'?x?"*,'?x?,,=M?a;

elseif(32<=x&&x<99)

{

a=x*x;

b=(a-a/1000*1000);

c=b-b/100*100;

if(c==x)cout?x?H,,?,,Yes,,?n'*?x?,'*,,?x?'*=H?a;

elsecout?x?M,,?x?n*',?x?',=,'?a;

}

cout?endl;

return0;

/*設(shè)計一個程序,求出滿足以下條件的最小的n值和s值:s=l+l/2+l/3+l/4+……+l/n,且s>=30*/

#include<iostream>

usingnamespacestd;

intmain(void)

(

longdoubles=l;

longintn=2;

whilc(s<30)

{

s=s+(1.0/n);

n-H-;

cout?s?endl;

}

coutw”最小的n值為:H?n?endl

?Hs的值為:”《s?cndl;

return0;

/*試編寫一個加密程序,加密方法是將明文的字母變成其后的第4個字母,字母表首尾相連。例如,輸

入明文“China”,輸出密文“Glmre"。非字母符不加密,當(dāng)輸入字符“鏟’時,程序運行結(jié)束。*/

#include<iostream>

usingnamespacestd;

intmain(void)

(

charc;

cout?"請輸入需要加密的文字:";

fbr(cin.gct(c);c!-#*;cin.gct(c))

7

AllrightsreservedbySunWJ

1013022055

iR65〈=c&&c<87)

cout?char(int(c+4));

if(87<=c&&c<=90)

cout?char(int(c+4-90+64));

if(97<=c&&c<119)

cout?char(int(c+4));

if(119<=c&&c<=122)

cout?char(int(c+4-122+96));

if(c<65||0122)

cout?c;

)

cout?endl;

return0;

/*用一下公式求e的近似值(n取10)oe=l+l/l!+l/2!+l/3!+.......+l/n!?/

#include<iostream>

usingnamespacestd;

intmain(void)

(

doublee=l,s=l;

intn=l;

do

{

s*=n;

e+=l/s;

n+=l;

cout?e?endl;

)

while(n<l1);

cout?"e而近似值為:"?e?endl;

return0;

)

/*用一下公式求e的近似值(直到最后一項的絕對值小于10人-8為止)e=l+l/l!+l/2!+l/3!+……+l/n!。*/

#include<iostream>

#include<cmath>

#include<iomanip>

usingnamespacestd;

intmain(void)

doublee=l,s=l;

8

AllrightsreservedbySunWJ

1013022055

intn=l;

do

{

s*=n;

e+=l/s;

n+=l;

cout?setprecision(8)<<e?endl;

)

while(fabs(l/s)>1e-8);

cout?"e的近似值為:n?setprecision(8)?e?endl;

return0;

/*輸入一個實數(shù)x,用卜.式求ix的近似值,知道最后一項的絕對值小于le-8為止*/

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain(void)

(

doublee=l,s=1,x,n=1;

cout?”輸入一個實數(shù)x:

cin?x;

do{

s*=n;

e+=(pow(x,n))/s;

n+=l;

cout?e?endl;

}

while(fabs((pow(x,n))/s)>1e-8);

cout?*'eAx的近似值為:"v(e?endl;

return0;

/*求出1-599中能被3整出,且至少有一位數(shù)字為5的所有整數(shù)。例如15、51、513均是滿足條件的整

數(shù)*/

#include<iostrcam>

usingnamespacestd;

intmain(void)

intb,s,g,n;//b表示百位,s表示十位,g表示個位

for(n=1;n<600;n++)

if(10<=n&&n<=99)

9

AllrightsreservedbySunWJ

1013022055

for(n=10;n<l00;n-H-)

{

s=n/10;

g=n-s*10;

if(n%3=0&&(s==5||g==5))

cout?n?endl;

if(100<=n&&n<=599)

(

fbr(n=100;n<600;n-H-)

{

b=n/100;

s=n-n/100*100;

g=n-b*100-s*10;

if{n%3=0&&(b==5||s==5||g==5))

cout?n?endl;

return0;

/*由于3人2+4人2=5人2,所以稱3,4,5為勾股數(shù)。試編程求出100以內(nèi)的所有勾股數(shù)。*/

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain(void)

(

inta,b,c;

for(a=l;a<=100;a-H-)

{

fbr(b=1;b<=100;b++)

{

fbr(c=l;c<=100;C-H-)

{

if(c*c==a*a+b*b)

coutvvav<”,"vvb<v","v<c<v"

}

return。;為勾股數(shù)!”《endl;

10

AllrightsreservedbySunWJ

1013022055

/*求滿足以下條件的三位數(shù)n:它除以11(整數(shù)相除)所得的商等于n的各位數(shù)字的平方和,且其中至

少有

兩位數(shù)字相同。例如:131除以11的商為11,各位數(shù)字的平方和為11,所以它是滿足條件的三位數(shù)。*/

#include<iostrcam>

usingnamespacestd;

intmain(void)

intn,b,s,g,a;

for(n=100;n<l000;n++)

b=n/100;

s=(n-b*100)/10;

g=n-b*100-s*10;

a=n/l1;

if(b==s||b=g||s==g)

if(s*s+b*b+g*g==a)

cout?nvv"滿足條件"wendl;

return0;

/*用牛頓迭代法求一元方程2xT?4x八2+3x-6=0在x=1.5附近的根,要求精度為le-8。*/

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain(void)

(

floatx,y;

fbr(x=1.5;;)

(

尸;

x=x-(2*pow(x,3)-4*pow(x,2)+3*x-6)/(6*x*x-8*x+3);

if(fabs(y-x)<le-8)break;

cout?x?endl;

}

cout?*'2xA3-4xA2+3x-6=0在x=1.5附近的根為:”<vx?endl;

return0;

/*在1000以內(nèi)驗證哥德巴赫猜想*/

11

AllrightsreservedbySunWJ

1013022055

#include<iostrcam>

#include<cmath>

#include<iomanip>

usingnamespacestd;

intprime(inti)

{

fbr(intj=2j<=sqrt(i);j++)

{if(i%j==O)break;}

i埒Asqrt⑴)returni;

intmain(void)

{

intn,k,h;

coutw”請輸入一個大于2的偶數(shù)(小于1000):

cin?n;

{

fbr(k=2;k<=1000;k++)

{

fbr(h=2;h<=1000;h++)

{

if(prime(k)+prime(h)=n)

cout?n?',=',?k?,,+,,?n-k?endl;

}

)

}

return0;

/*用二分法求方程x人3?6x?l=0在x=2附近的一個實根,要求迭代精度為le-8*/

#include<iostream>

#include<cmath>

usingnamespacestd;

intmain(void)

{

longdoubley1,y2,x0,x1=1,x2=3;

whilc(fabs(y1)>=1c-8||fabs(y2)>=le-8)

{

yl=pow(xl,3)-6*xl-l;

y2=pow(x2,3)-6*x2-1;

x0=(xl+x2)/2;

if(yl*y2<0)

xl=x0;

AllrightsreservedbySunWJ

1013022055

)

if(yl*y2>=0)

|

xl=xl*2-x2;

x2=x0;

)

cout?Hy1,,?,'=,,?y1?n

"<<"y2"《"="<<y2<<endl;//j,觀顯示111yl和y2的變化

(

cout?"方程xA3-6x-l=0在x=2附近的一個實根:"《x0?endl;

return0;

)

/*計算體重指數(shù)并得出相應(yīng)的評語*/

#include<iostream>

#include<math.h>

usingnamespacestd;

intmain(void)

(

floats,t,x;

coutw”請輸入您的體重(Kg)和身高(m):

cin?t?s;

if(s<5||t<0.5)

{

cout?"輸入的數(shù)據(jù)無效!\n";return1;

)

x=t/(pow(s,2));

if(x<18.5)cout?"不好意思,您有點營養(yǎng)不良!"<<endl;

elseif(18.5<=x&&x<=23)cout?"perfect!完美身材"<%11<11;

elsecout?"唉!您超重了!"?endl;

return0;

/*編寫一個程序,從標(biāo)準(zhǔn)輸入讀入某職員的工作時間(以小時計)和每小時的工資

數(shù),計算并輸出他的:工資。若職員月工作時間超過40小時,則超過部分按原工資的1.5倍來

計算。*/

#include<iostream>

usingnamespacestd;

intmain(void)

(

inthour;

floatreward,pay;

cout?”輸入工作時間(以小時計):”;

cin?hour;

coutvv”輸入每小時的工資:”;

13

AllrightsreservedbySunWJ

1013022055

cin?rcward;

if(hour<=40)pay=hour*reward;

elseif(hour>40)pay=40*reward+(hour-40)*1.5*reward;

cout?pay?endl;

return0;

/*編寫一個程序,輸出n階楊輝三角形,其中n由用戶輸入,該值不能大于13。*/

#include<iostreain>

usingnamespacestd;

intc(intn,intm)

(

inti,j,k=1,1=1;

fbr(i=l;i<=m;i-H-)

{

k*=i;

)

ft)r(j=n;j>(n-m);j-)

{

l*=j;

}

return1/k;

intmain(void)

{

intm,n,i,j;

cout?”輸入楊輝三角形的階數(shù)n:H;

cin?n;

fbr(i=O;i<=n;i++)

(

cout?endl;

fbr(m=0;m<=35-(i+1);m+=1)

{

cout?n

)

fbr(j=Ou<=iJ++)

{

cout?c(ij)?HH;

)

)

cout?endl;

return0;

/*編寫程序f(),計算l+l/2!+l/3!+……+l/n!of()函數(shù)的原型為:doublef(intn)*/

14

AllrightsreservedbySunWJ

1013022055

#include<iostrcam>

usingnamespacestd;

intmain(void)

(

doublef(int函數(shù)原型聲明

intn;

cout?Hpleaseinputanumbern:n;

cin?n;

cout?f(n)?endl;

return0;

doublef(intn)

(

floats,e=l;

inti;

fbr(i=l,s=O;i<=n;)

e*=i?

s+=1.0/e;

i+=l;

returns;

/*編寫程序:通過函數(shù)調(diào)用,求正整數(shù)m和n的最大公約數(shù)和最小公倍數(shù)*/

#include<iostream>

usingnamespacestd;

inty(intm,intn)

|

intt;

if{m==0||n==0)

return0;

elseif[m<n)

(

t=m;

m=n;

n=t;

}

while(m%n!=0)

{

t=m%n;

m=n;

n=t;

15

AllrightsreservedbySunWJ

1013022055

returnn;

intmain(void)

{

intm,n;

coutvv”請輸入兩個正整數(shù):”;

cin?m?n;

coutw”最關(guān)公約數(shù)為:"?y(m,n)?endl;

coutw”最大公倍數(shù)為:H?m*n/y(m,n)?endl;

return0;

/*編寫程序,通過函數(shù)調(diào)用,求滿足以下條件的最大n:1八2+2八2+3八2+……+n^2<1000*/

#include<iostream>

#include<cmath>

usingnamespacestd;

intp(intn)

(

returnpow(n,2);

intmain(void)

{

intn=l,s=0;

for(;s<1000;n++)

{

s+=p(n);

}

cout?”最大的n為:M?n?endl;

return0;

/*編寫程序,通過調(diào)用函數(shù),對輸入的整數(shù)k輸出它的全部素數(shù)因子。例如:當(dāng)k=126時,素數(shù)因子為

2、3、3、7.要求按如下格式輸出:126=2*3*3*7.*/

#include<iostrcam>

usingnamespacestd;

voidf(intn)

|

intc=2;

cout?n?,-M;

while(n>c)

16

AllrightsreservedbySunWJ

1013022055

if(n%c==0)

cout?c?n*";

n=n/c;

else

{C++;}

(

cout?n;

cout?endl;

intmain(void)

(

intx;

cout?"請輸入一個整數(shù):

cin?x;

f(x);

return0;

/*編寫程序,通過函數(shù)調(diào)用,求出3個實數(shù)中的最大值并輸出。程序中必須用函數(shù)求出兩個數(shù)中的人數(shù)。

#include<iostream>

usingnamespacestd;

floatf(floata,floatb,floatc);

intmain(void)

(

floata,b,c;

cout?"請輸入三個實數(shù):";

cin?a?b?c;

coutw”最大數(shù)是:n?f(a,b,c)?endl;

return0;

floatf(floata,floatb,floatc)

(

floatt,s;

t=a>b?a:b;

s=c>t?c:t;

returns;

/*編寫程序,通過函數(shù)調(diào)用,實現(xiàn)卜進(jìn)制向卜六進(jìn)制的轉(zhuǎn)換*/

#include<iostream>

17

AllrightsreservedbySunWJ

1013022055

usingnamespacestd;

voidffintn);

intmain(void)

{

intn;

coutvv”請輸入一個十進(jìn)制整數(shù):H;

cin?n;

coutw”該數(shù)的十六進(jìn)制值為:”;

f(n);

cout?endl;

return0;

voidf(intn)

(

cout?hex?n;

return;

/*編寫程序,通過函數(shù)調(diào)用,判斷任一整數(shù)是否為回文數(shù)?;匚臄?shù)即左讀和右讀都相同的數(shù),如121、

12321,*/

#include<iostream>

usingnamespacestd;

intf(intx)

inty,s=O;

y=x;

while(y>0)

s=s*10+y%10;//x的坡低位變成s的最高位

y=y/10;〃去掉個位

if(s==x)

return1;

else

return0;

intmain(void)

intx;

cout?"輸入一個整數(shù):

cin?x;

if(f(x))

18

AllrightsreservedbySunWJ

1013022055

cout?x?n是回文數(shù)"?endl;

else

cout?x<v”不是回文數(shù)”<<endl;

return0;

)

/*編寫程序,重載求兩個數(shù)中大數(shù)的函數(shù)max(),分別實現(xiàn)求兩個實數(shù)和兩個整數(shù)的大數(shù)。

#include<iostream>

usingnamespacestd;

intmax(inta,intb)

{

returna>b?a:b;

)

floatmax(floata,floatb)

(

returna>b?a:b;

}

voidmain()

(

inta,b;

floatc,d;

coutvv”輸入兩個整數(shù):";

cin?a?b;

cout?*)\n輸入兩個實數(shù):”;

cin?c?d;

coutw”大數(shù)分別是:”《niax(a,b)vv*'<vmax(c,d)vVendl;

/*重載函數(shù)求三個整數(shù)和三個實數(shù)的最大值max()*/

#include<iostream>

usingnamespacestd;

intmax(inta,intb)

{

returna>b?a:b;

}

floatmax(floata,floatb)

(

returna>b?a:b;

voidmain()

inta,b,c;

floatx,y,z;

19

AllrightsreservedbySunWJ

1013022055

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

cin?a?b?c;

cout?H\n輸入三個實數(shù):”;

cin?x?y?z;

coutw”大數(shù)分別是:u?(max(a,b)>c?max(a,b):c)?V?(max(x,y)>z?max(x,y):z)?endl;

/*用內(nèi)聯(lián)函數(shù)求兩個整數(shù)中的最大值*/

#include<iostream>

usingnamespacestd;

inlineintmax(inta,intb)/定義內(nèi)聯(lián)函數(shù)

(

returna>b?a:b;

voidmain()

inta,b;

cout?"輸入兩個整數(shù):";

cin?a?b;

coutw"大數(shù)是:"vvmax(a,b)wendl;

/*內(nèi)聯(lián)函數(shù)求3個整數(shù)的最大值*/

#include<iostream>

usingnamespacestd;

inlineintmax(inta,intb);匚義內(nèi)聯(lián)函數(shù)

{

returna>b?a:b;

voidmain()

|

inta,b,c;

COUtCV”輸入三個整數(shù):”;

cin?a?b?c;

coutw”大數(shù)是:H?(max(a,b)>c?rnax(a,b):c)?endl;

/*編程找出1700之間的所有李生素數(shù)。所謂攣生素數(shù)就是差為2的素數(shù)。*/

#include<iostream>

#include<cmath>

usingnamespacestd;

intprime(intx)

inti,t;

20

AllrightsreservedbySunWJ

1013022055

t=sqrt(x);

fbr(i=2;i<=t;i-H-)

{

if(x%i=0)break;

}

if(i>t)

returnx;

else

return0;

intmain(void)

{

intn;

coutw”l?100之間的所有攣生素數(shù)如下"wendl;

for(n=2;n<=100;n++)

{

if(prime(n)+prime(n+2)==2*n+2)

cout?n?,\t,?n+2?endl;

}

return0;

/*任意輸入一個四位自然數(shù),調(diào)用一個自定義函數(shù),輸出該自然數(shù)的各位數(shù)字組成的最大數(shù)。*/

#include<iostream>

usingnamespacestd;

voidf(intx)

(

inta,b,c,d,max,mid,min;

a=x/1000;

b=(x-a*1000)/100;

c=(x-a*1000-b*100)/10;

d=x-a*1000-b*100-c*10;

max=a;

if(b>a)max=b;

if(max<c)max=c;

〃求出三個數(shù)的最大值

mid=b;

if(a<b&&c<a)mid=a;

if(a<c&&c<b)mid=c;

〃求出三個數(shù)的中間值

min=a;

if(a>b)min=b;

iffevmin)min=c;

〃求出三個數(shù)的最小宿

AllrightsreservedbySunWJ

1013022055

if(d>=max)

cout?d?max?mid?min;

if(max<d&&d<=mid)

cout?max?d?mid?min;

if(mid<d&&d<=min)

cout?max?mid?d?min;

if(min>d)

cout?max?mid?min?d;

voidmain()

(

intx;

COUtCV”輸入一個四位自然數(shù):”;

cin?x;

COUtCV"重組后的最大數(shù)是:

f(x);

cout?cndl;

/*編寫程序,通過root。函數(shù)求解一元二次方程ax八2+bx+c=0(a!=0)的實根°root()函數(shù)的原型:

introot(floata,floatb,floatc,float*px1,float*px2)

introot(floata,floatb,floatc,float&rx1,float&rx2)

其中,a,b,c為方程的系數(shù);pXl,pX2分別指向存放方程兩個根的變量,rxl,rx2分別是存放兩個根

的變量的別名;返回值為0的時候表示無實根,為1時表示有2個相等的實根,為2時表示有2個不相

的實根。在main函數(shù)中調(diào)用root。函數(shù)分別求方程x人2+3x+2=0和4.5xA2+5.7x+2=0的實根。*/

#include<iostream>

#include<cmath>

usingnamespacestd;

introot(floata,floatb,floatc,float*px1,float*px2)

(

floatd,xl,x2;

intt;

d=b*b-4*a*c;

if(d<0)

{

t=0;

}

if(d==O)

(

d=sqrt(d);

x1=x2=(-b+d)/a/2;

*pxl=xl;

*px2=xl;

22

AllrightsreservedbySunWJ

1013022055

t=l;

}

if(d>0)

{

d=sqrt(d);

xl=(-b+d)/a/2;

x2=(-b-d)/a/2;

*pxl=xl;

*px2=x2;

t=2;

|

returnt;

introot(floata,floatb,floatc,float&rx1,float&rx2)

(

floatd,xl,x2;

intt;

d=b*b-4*a*c;

if(d<0)

(

t=0;

}

if(d==0)

(

d=sqrt(d);

x1=x2=(-b+d)/a/2;

rxl=xl;

rx2=x1;

t=l;

}

if(d>0)

{

d=sqrt(d);

xl=(-b+d)/a/2;

x2=(-b-d)/a/2;

rxl=xl;

rx2=x2;

t=2;

)

returnt;

voidmain()

23

AllrightsreservedbySunWJ

1013022055

floata=l,b=3,c=2,xl,x2;

if(root(a,b,c,&x1,&x2)==0)

coutvv”方程xA2+3x+2=0沒有實根”〈(endl;

if(root(a,b,c,&x1,&x2)=1)

coutvc”方程x八2+3x+2=0有兩個相等的實根“vv”xl=x2="v〈xl<<endl;

if(root(a,b,c,&x1,&x2)==2)

coutvv”方程xA2+3x+2=0有兩個不相等的實根”1=n?x1?,\t,?,,x2=,,?x2?endl;

floate=4.5,f=5.7,g=2,rl,r2;

if(root(e,f,g,rl,r2)=0)

coutw”方程4.5x人2+5.7x+2=0沒有實根"〈〈endl;

if(root(e,f,g,rl,r2)=l)

cout?”方程4.5x人2+5.7x+2=0有兩個相等的實根“vv”xl=x2=y〈rlv<endl;

if(root(e,f,g,rl,r2)=2)

coutw”方程4.5xa2+5.7x+2=0有兩個不相等的實根“vv“xl="vvrlv<Vvv”r2="vvx2vvendl;

)

/*使用公式(n=0)2(+8)(xM)/n!,編寫程序計算e^x。的函數(shù)myexp()。編程要求

(1)myexp()函數(shù)能做變精度計算。

(2)myexp()函數(shù)應(yīng)為精度參數(shù)設(shè)置默認(rèn)值,以便調(diào)用。myexp。原型為doublemyexp(doublex,double

precision=le-4)

(3)在main()函數(shù)中調(diào)用myexp。函數(shù)計算eA0.5(精度為10A-4)*/

#include<iostream>

#include<cmath>

usingnamespacestd;

intfact(intn)計0階乘

(

if(n=l)

returnI;

else

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論