2025年C語言編程挑戰(zhàn)寶典_第1頁
2025年C語言編程挑戰(zhàn)寶典_第2頁
2025年C語言編程挑戰(zhàn)寶典_第3頁
2025年C語言編程挑戰(zhàn)寶典_第4頁
2025年C語言編程挑戰(zhàn)寶典_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

I、會(huì)定n個(gè)數(shù)據(jù),求最小值出現(xiàn)的位置(假如最小值出現(xiàn)多次,求出第一次z=z=4/(x*(x+1))(x>-10)

出現(xiàn)的位置即可)。z=|x+20(其他)

inti,k;6、求出NXM整型數(shù)組的最大元素及其所在的行坐標(biāo)

k=0;

tor及列坐標(biāo)(假如地大元素不唯一.選擇位置在最前面

i£(s[i]<s[k])k=i;的一種).例如:輸入的數(shù)組為:

returnGO:最大值第三行五行|

i<=nk+123

2、編寫程序求無理數(shù)e的值并輸出.計(jì)算公式為:4156

e=l+l/l!+l/2!+l/3!+....../l/n!當(dāng)l/n!<0.000001時(shí)e=2.718282?12189

longintj;10112

intizk;求出的及大數(shù)為18,行坐標(biāo)為2.列坐標(biāo)為1。

floate,jc;

i=1:mt孰ax,i,j;

?RO;f?ax=array[0][0];

jc=l.O:Row=O;

whileGc>=0.OOOOOl)Col=O;

forG=O;i<M;i**)

e=e+jc;{forG=O:jG:j++)

J=l:ifG?ax<array[i][j])

for(k=l;k<=i;k++){aax=array[i][j];

產(chǎn)j*k.Row—:

jc=lU/j;Cul=JJ

iH:}

1return(mcc);

returng:7、求一種n位自然數(shù)的各位數(shù)字的枳。(n是不不小于10的自然數(shù))

3、求一批數(shù)中最大值和最小值的積。lon<d,s=l;

inti,nax.mn;while(nX))

nkx=nin=a[0];{<i=n?10.

f>rs*=d:

i£(a[i]>?ax)iMX-a[i];n/=D;

min=a[i];}

raturnGnax?min):returns;

4、某一正數(shù)的值保留2位小數(shù),對(duì)第三位進(jìn)行四舍五入。8、計(jì)算n門課程的平均值,計(jì)算成果作為函數(shù)值返回。例如:若有5門課

mt1;程的成績是:92.76,69,58.88,則函數(shù)的值為76.599998。

x=(int)Qi?1000)%10;

i£(iX5)int1:

return(int)(h*100+1)/1000:float尸0;

forG力:;&:;+4)

elseJ+=a[ij;

return(int)**100)/100.0:

y=y/t?;

5、從鍵盤1??輸入任意實(shí)數(shù)X.求出其所對(duì)ratximy;

floatx:

應(yīng)的函數(shù)值。z=(x-4)的if(x>4)i=sqrl(x-4);二次解(x>4)9、求一批數(shù)中不不小于平均值的數(shù)的個(gè)數(shù)。

?1:?ifGcM)工書”&,8);

的八次<

z=x(x>d)elseif&AlO)z=4/(x*(x+D);

elseX=£0H&)+2C;

return(z):

素的組合數(shù)的個(gè)數(shù)。計(jì)算公式是:組合數(shù)=m!/(n!.(m-n)!)?

inti,swt=Ozk=0;

floataverage;規(guī)定:m不能不不小于n,否則應(yīng)有容錯(cuò)處理。

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

sw?=suni+a[i];闡明:函數(shù)facl(x)的功能是求x!。

aversun*1.0/n;while0?<n)

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

i£(&ver^e>a[i])k**;ErxntfCm和窗i入錯(cuò),請(qǐng)重新給入\n"):

return(k);scanf(*%誦,

1

10.編寫函數(shù)判斷一種整數(shù)m的各位數(shù)字之和能否被7整除,可以被7整ihsgs=fact(m)/(fact(n)*fact(n-n));

除則返回I,否則返回仇調(diào)用該函數(shù)找出100~200之間滿足條件的所有數(shù).14、找出一批正整數(shù)中的最大的偶數(shù)。

intk,s=0;inti,anisx=-l;

doforG=0;iG;"?)

{s=s4i??10:ifU(i]%2==0)

mW10;i£(a[i]Fornax)onox-&[i];

}nh:laQ!=0);return5。;

ifis%7=0)k=l;

elsek=0;15、實(shí)現(xiàn)兩個(gè)整數(shù)的互換。

roturn(k):例如:綸a和b分別輸入:60和65.輸入為:a=S5b=60

11.清編,種函數(shù)voidfun(inttt[M]|N],intpp|N|).”指向?種M行N列intt.

的二維數(shù)組,求出二維數(shù)組每列中最大元素,并依次放入pp所指?維數(shù)組t="3:*gb:*b;t:

中。二維數(shù)組中的數(shù)已在主函數(shù)中賦予。16、將字符甲中的小寫字母轉(zhuǎn)換為對(duì)回的大寫字母,

inti,j:其也字符不變。

forG=O.j<H.j+*)

inti;

(?

Pp[j]=tt[O](j];forG=0;str[i]!=9’.i++)

for(i=l.i<M,i+t)if(str[ia'&tistr[i]<=*z')

str[i]=str[i]-32;

if(tt[x](jl>pp[j])

pp[j]=tt[i][j];17、求?種四位數(shù)的各位數(shù)字的立方和。

}intdzk.s=0;

12、編寫函數(shù)fun用比較法對(duì)主程序中顧客輸入的具有10while(n>0z

{d=nK10:

個(gè)數(shù)據(jù)的數(shù)組a按由大到小排序,并在主程序中輸出s+=d?<i*d.

S10;

排序成果。)

intk,j.t;returns:

for0c=0.k<n-l;k++)

for(j=kH:j<n:j++)18、求一組數(shù)中不小于平均值的數(shù)的個(gè)數(shù)。

if(array[k]<array[j])例如:隼定的一組數(shù)為I*694>US67r鄧時(shí),函

i

t=array(k]:數(shù)值為3。

4rray[k]=arriy[j];

wray[j]=t:

13、編寫main程序調(diào)用函數(shù)fact求解從m個(gè)元素選n個(gè)元

infi,k=O:inti:

floats=0,ave;fcrG=0;i<n;i4+)

for(i=O;i<n;i++)if(arr[i]%5=0岐arr

s*=a[i];r?=wr[i]:

ave=s/n;

prant£(*%£",wo);23.編片:函數(shù)fun求$um=d+dd+ddd+........-Hidd(r個(gè)d).

:or(i=O.i<n,i*>)其中d為1-9的數(shù)字.

returnk;例如:3+33+333+3333+33333(此時(shí)d=3,n=5),d和n在主函

19、對(duì)任意輸入的x,用下式計(jì)算并輸出y的值。數(shù)中輸入。

5x<IO

longiniz=07t=0:

y=0x=IOinti;

forG=l;i<=n;i4+)

-5x>10{t=tH:

intm.s=s+t:

if(n>=10)d=d*10;

}

?=-5:returns;

elsem=0;

c=5;24、編寫函數(shù)fun將?種數(shù)組中的值按逆序寄存,并在

returnm;main。函數(shù)中輸出。

20、求給定正整數(shù)m以內(nèi)的索數(shù)之和。例如:本來存次序?yàn)?65,4,1。規(guī)定改為:1,4,568。

例如:當(dāng)m=20時(shí),函數(shù)值為77。inti,t;

£or(i=0;i<n/2;i++)

inti,k,s=0;{t=arr[i];

for(i=2;i<=r?;i++)arr[i]=arr[n-l-i]:

(for(k=2.k<i;k^^)arr[irl-i]=t;

i£G?k==O)break;}

ifQc=i)s=s*i;

125、對(duì)長度為8個(gè)字符的字符串,將8個(gè)字符按降序排列。

returns:例如:本來的字符串為CEAedcab.排序后輸出為edcbaECA

21、判斷整數(shù)x與否是同構(gòu)數(shù)。若是同構(gòu)數(shù),函數(shù)返回I;inti,j:

chart:

否則返回0。x的值由主函數(shù)從追盤讀入,規(guī)定不大for(i=0.i<nun;£??)

于100。for(j=i+l:j<ns::++)

intk;{t=[i];[i)=[j]s[j]=tj

k=x*x:sss:

if((k*10=x)|(k%100==x))26、根據(jù)整型參數(shù)n,計(jì)律如圖公式的值。

return1:floata=]:inti;

else£or(i=l;i<n;i++)

raturn0;a=1.0/(Ha).

22、用函數(shù)求NMl0.60]上.的整數(shù)中能被5整除的最大returna;

的數(shù),存在則返回這個(gè)最大值,假如不存在則返回0。27、鍵盤上輸入一種3行3列矩陣的各個(gè)元素的值(為整數(shù))

然后輸讓主對(duì)角線元素的枳,并在fun()函數(shù)中輸出。

mtAM;函數(shù)找出其中最小的數(shù),并在main函數(shù)中輸出.

intij;請(qǐng)編寫fun函數(shù)。

sui?=l;

intnin,i;

for:i=0;i<3;i+i)nin=x[0];

zm=sun?*a[i][i].for(i=l;i<n;i++)

returnzun;{i£(x[i]<>in)nin=x[i];)

28、編寫函數(shù)fun(sir,i,n),從字符申str中刪除第i個(gè)returnmin;

字符開始的持續(xù)n個(gè)字符(注意:str|O|代表字符串33、用do-while語句求1?100的合計(jì)和

的第?種字符)。

答案:iati=1,sun=0;

while(Str[>+r.-l])do

({su>=sun+i:

5tr[i-l]=str[i+n-l]:i”;

i++;}vrhiltt(iGn):

}returnsun;

str(i-l]=zM)';

29、記錄出若干個(gè)學(xué)生的平均成績,最高分以及得最高34、編寫函數(shù)求1~IOO中奇數(shù)的平方和。成果為.66650

分的人數(shù)。float5=0:

例如:輸入10名學(xué)生的成績分別為92.87,68,56.92.inti,j;

for(i=l,i<=n,i=i42)

84.67,75,92,66,則輸出平均成績?yōu)?7.9.s=s+iti:

x?lux11G).

地商分為92.得最高分的人數(shù)為3人,

inti:float5un=0,qve:35、計(jì)算并輸出給定整數(shù)的所有因子之枳(包括自身工

Ha>:=array[0];

£or:i=0:i<n;i+*)規(guī)定這個(gè)整數(shù)的值不不小于50。

(if(Nax<array[il)Max二array[i];10Ms=1,1;

zun=sun+array[i];}

avQ=swi/n;fcrG=2:1<=n:i++)

forG=0;i<n;i-*)if(n%i==0)s=s*i.

;£[array[i]==NAX,IJ++:

return(ave):returns;

30、編寫程序,實(shí)現(xiàn)矩陣(3行3列)的轉(zhuǎn)置(即行列互換)36、求1到100之間的偶數(shù)之積

inti,j,t;doubley=l;

fora=0i<3;i++)inti:

forj=0;j<i;j++)forG=l;i<=i?;i*+)

{t=arr47(i][j];i£G短==0)y*=i;

arr4y[i][j]=array[j][i].retxmy:

M-r4y(j][i)=t;}

箱、用函數(shù)實(shí)現(xiàn)字符串的包制,不容許用NirpyO函數(shù).V7、編寫函數(shù)求體現(xiàn)式的利(n的值由主函數(shù)輸入I

inti;1-1/2+1/3-1/4+……+l/m

,

for(i=O;Strt[i]l=\0';i++)

str2[i]=sUl[i];

z

Str2[i]='0';

32、從鍵盤為一維整型數(shù)組輸入10個(gè)整數(shù),調(diào)用fun

flotts=0;43、從低位開始取出長整型變舟s奇數(shù)位上的數(shù).依次

inti,k=l;構(gòu)成一種新數(shù)放在【中。

for(i=l;i<=n:i+f)

Is=s*k*1.0/i.例如:當(dāng)$中的數(shù)為:7654321時(shí),1中的數(shù)為:7531o

k=-k:

)longsl=10:

return(s):t=s*10.

whilaG>0)

38、產(chǎn)生2()個(gè)|3O,12O|上的隨機(jī)整數(shù)放入二算數(shù)組{s=s/100;

a⑸[4|中,求其中的最小值。t=s%lQ?sl+t;

si=si*>0;假如為642,在第二行加.s/=10:

inti,j,s;

s=a[0][0];

for(>=0;i<5:i++)44、求不小于lim(lim不不小于100的整數(shù))并且不不小于100的所

forG=0;j<4.j+*)有素?cái)?shù)并放在aa數(shù)組中.該函數(shù)返回所求出案數(shù)的

return(s):個(gè)數(shù)。

39、能計(jì)算從I開始到n的自然數(shù)的和,n由鍵盤輸入.intn=0;

并在main。函數(shù)中輸出。int"j;

for(i=lii?:i<=100:i++)

intswn,1:(forG=2;j<i;j*4)

SUfT?=0;i£G?j==O)break:

for(i=l;i<=n;iH)ifG=i)aa[n++]=i:

}

return(=w?);當(dāng)N為的第三行i=2i=i+2returnn:

第四行i*i45、求?批數(shù)中最大值和最小值的差

41、計(jì)算出k以內(nèi)最大的10個(gè)能被13或17整除的自然數(shù)之1nti,msccr?in:

和。(k〈3000)nax=nixk=&(0];

forG=l:i<n:i+*)

mtQ=0,b=0,j:if(a[x]>i?ax)r?ax=a[i];

vhile((k>=2)M(b<10))elsei£(a[i]^nin)n>in=a[i].

(if((k%13==0)||3t%17==0))return(r?ficc-nin);如為積將?改*

h=*+k:b++:]

L;

J46、求比菲波那契數(shù)列的前?項(xiàng)與后?項(xiàng)之比的極限的

roturna:近似值。

42、判斷一種整數(shù)w的各位數(shù)字平方之和能否被5整除,例如:當(dāng)誤差為0.0001時(shí),函數(shù)值為0.618056。

可以被5整除則返回I,否則返回0。inti,j;

float£1=1,£2=1,£3.

floatrl=2/r2:

intk,5=0;

dodo

{x=s4Gf%10)?(w%10);(r^=rl;

w=?/10:rl=fl/f2;

}while(vr!=0);f3=fH£2;

if(s5(S==0)k=l;£l=f2;

?lz?k=0;f2=£3:

return00;Iwhile(fabs(rl-x2)>le-4)

r?tvrarl:

47、將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一種整數(shù)放在c52、編寫函數(shù)實(shí)現(xiàn)兩個(gè)數(shù)據(jù)的互換,在主函數(shù)中輸入任

中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)意三個(gè)數(shù)據(jù),調(diào)用函數(shù)對(duì)這三個(gè)數(shù)據(jù)從大到,.、排序.

的個(gè)位和百位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位intk:

j:

和T?位上.例如?當(dāng)a=45,b=12.上用該函數(shù)后.c=2514.

*b=k:

答案;10+a%lQ*100+b/10*1CH-btlOlOOO;

53、編寫函數(shù)判斷?種整數(shù)能否同步被3和5整除,若能

48、編寫函數(shù)判斷一種整數(shù)m的各位數(shù)字之和能否被7整除,則返回值為1,否則為0。調(diào)用該函數(shù)求出15~300之

可以被7整除則返回I,否則返回依調(diào)用該函數(shù)找出間能同步被3和5整除的數(shù)的個(gè)數(shù)。

HX)~2(X)之間滿足條件的所仃數(shù)。iffr%3==OMn?5:=O)return。);

roturn(0):

mtk,s=0;

do54、編寫函數(shù)fun,求任整數(shù)m的n次方

{x=z4r?%10;

g/10:longintx=l:

}rhile0i!=0);inti;

if:s%7==0)k=l.for(i=1:i<=D:i++)

ohok=0;x=x*n.

return(k);returnx;

49、判斷m與否為素?cái)?shù)55、從鍵盤輸入?種不小于3的整數(shù),調(diào)用函數(shù)fun判斷

inti,k=l.其與臺(tái)系數(shù),然后在main函數(shù)中輸出對(duì)應(yīng)的結(jié)論

i£Gn<=l)k=0;信息。例如:7是素?cái)?shù),8不是素?cái)?shù)。請(qǐng)編寫fun

forG=2;i<i?;i++)

i£Gn*i=O)k=0;函數(shù)。素?cái)?shù)是僅能被1和自身整除的數(shù)

returnk;inti.

intj:

50、給定n個(gè)數(shù)據(jù),求最小值出現(xiàn)的位置(鍛如最小值j=1:

出現(xiàn)多次,求出第一次出現(xiàn)的位置即可)。for(i=2;iG;i++)

{if(n%i==0);=0;

intizk;)

k=0;returnj;

for(i=l,i<n;i44)

if(s[i]<s[k))k=i:56、用推轉(zhuǎn)相除法求兩個(gè)整數(shù)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論