C程序設(shè)計(jì) 編程100_第1頁(yè)
C程序設(shè)計(jì) 編程100_第2頁(yè)
C程序設(shè)計(jì) 編程100_第3頁(yè)
C程序設(shè)計(jì) 編程100_第4頁(yè)
C程序設(shè)計(jì) 編程100_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——C程序設(shè)計(jì)編程100

C語(yǔ)言程序設(shè)計(jì)100例

題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不一致且無(wú)重復(fù)數(shù)字的三位數(shù)?都是多少?1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成所有的排列后再去掉不滿足條件的排列。2.程序源代碼:以下是引用片段:以下是引用片段:main(){inti,j,k;printf(\

for(i=1;iy則將x與y的值進(jìn)行交換,然后再用x與z進(jìn)行比較,假使x>z則將x與z的值進(jìn)行交換,這樣能使x最小。2.程序源代碼:以下是引用片段:main(){intx,y,z,t;

scanf(\if(x>y)

{t=x;x=y;y=t;}/*交換x,y的值*/if(x>z)

{t=z;z=x;x=t;}/*交換x,z的值*/if(y>z)

{t=y;y=z;z=t;}/*交換z,y的值*/printf(\}

題目:用*號(hào)輸出字母C的圖案。

1.程序分析:可先用’*’號(hào)在紙上寫(xiě)出字母C,再分行輸出。2.程序源代碼:以下是引用片段:#include\main(){

printf(\printf(\printf(\printf(\

printf(\}

題目:輸出特別圖案,請(qǐng)?jiān)赾環(huán)境中運(yùn)行,看一看,VeryBeautiful!1.程序分析:字符共有256個(gè)。不同字符,圖形不一樣。2.程序源代碼:以下是引用片段:#include\main(){

chara=176,b=219;

printf(\printf(\printf(\printf(\printf(\

題目:輸出9*9口訣。

1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列。2.程序源代碼:以下是引用片段:#include\main(){

inti,j,result;printf(\for(i=1;i

題目:輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。1.程序分析:利用while語(yǔ)句,條件為輸入的字符不為’/n’.2.程序源代碼:以下是引用片段:#include\main(){charc;

intletters=0,space=0,digit=0,others=0;printf(\while((c=getchar())!=’/n’){

if(c>=’a’elseif(c==’’)space++;

elseif(c>=’0’elseothers++;}

printf(\space,digit,others);}

題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個(gè)數(shù)字。例如2+22+222+2222+22222(此時(shí)共有5個(gè)數(shù)相加),幾個(gè)數(shù)相加有鍵盤(pán)控制。1.程序分析:關(guān)鍵是計(jì)算出每一項(xiàng)的值。2.程序源代碼:以下是引用片段:main(){

inta,n,count=1;

longintsn=0,tn=0;

printf(\scanf(\printf(\while(count

for(counter=1;countera[j])min=j;tem=a[i];a[i]=a[min];a[min]=tem;

}

/*outputdata*/printf(\for(i=0;iprintf(\}

題目:求一個(gè)3*3矩陣對(duì)角線元素之和

1.程序分析:利用雙重for循環(huán)控制輸入二維數(shù)組,再將a[i][i]累加后輸出。2.程序源代碼:以下是引用片段:main(){

floata[3][3],sum=0;inti,j;

printf(\for(i=0;iend)a[10]=number;else

{for(i=0;inumber){temp1=a[i];a[i]=number;for(j=i+1;j

題目:編寫(xiě)一個(gè)函數(shù),輸入n為偶數(shù)時(shí),調(diào)用函數(shù)求1/2+1/4+...+1/n,當(dāng)輸入n為奇數(shù)時(shí),調(diào)用函數(shù)1/1+1/3+...+1/n(利用指針函數(shù))1.程序分析:2.程序源代碼:以下是引用片段:main()

#include\main(){

floatpeven(),podd(),dcall();floatsum;intn;while(1){

scanf(\if(n>1)break;}

if(n%2==0){

printf(\sum=dcall(peven,n);}else{

printf(\sum=dcall(podd,n);}

printf(\}

floatpeven(intn){floats;inti;s=1;

for(i=2;iage;}

printf(\}

題目:字符串排序。1.程序分析:2.程序源代碼:以下是引用片段:main(){

char*str1[20],*str2[20],*str3[20];charswap();

printf(\scanf(\scanf(\scanf(\

if(strcmp(str1,str2)>0)swap(str1,str2);if(strcmp(str1,str3)>0)swap(str1,str3);if(strcmp(str2,str3)>0)swap(str2,str3);printf(\printf(\}

charswap(p1,p2)char*p1,*p2;

{

char*p[20];

strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);}

題目:海灘上有一堆桃子,五只猴子來(lái)分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個(gè),這只猴子把多的一個(gè)扔入海中,拿走了一份。其次只猴子把剩下的桃子又平均分成五份,又多了一個(gè),它同樣把多的一個(gè)扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問(wèn)海灘上原來(lái)最少有多少個(gè)桃子?1.程序分析:2.程序源代碼:以下是引用片段:main()

{inti,m,j,k,count;for(i=4;i=1000}}

題目:八進(jìn)制轉(zhuǎn)換為十進(jìn)制1.程序分析:2.程序源代碼:以下是引用片段:main()

{char*p,s[6];intn;p=s;gets(p);n=0;

while(*(p)!=’/0’){n=n*8+*p-’0’;p++;}printf(\}

題目:求0—7所能組成的奇數(shù)個(gè)數(shù)。1.程序分析:

circle(x0,y0,20);circle(x0,y0,50);for(i=0;i=RIGHT)dx1=-dx1;

if(y1=BOTTOM)dy1=-dy1;

if(x2=RIGHT)dx2=-dx2;

if(y2=BOTTOM)dy2=-dy2;if(++count>LINES){

setcolor(color);

color=(color>=MAXCOLOR)?0:++color;}}

closegraph();}

題目:打印出楊輝三角形(要求打印出10行如下圖)1.程序分析:111121133114641151010512.程序源代碼:以下是引用片段:main(){inti,j;inta[10][10];printf(\for(i=0;i

#include\#include\#defineMAXPTS15#definePI3.1415926structPTS{intx,y;};

doubleAspectRatio=0.85;voidLineToDemo(void){

structviewporttypevp;structPTSpoints[MAXPTS];inti,j,h,w,xcenter,ycenter;intradius,angle,step;doublerads;

printf(\getviewsettings(h=vp.bottom-vp.top;w=vp.right-vp.left;

xcenter=w/2;/*Determinethecenterofcircle*/ycenter=h/2;

radius=(h-30)/(AspectRatio*2);

step=360/MAXPTS;/*Determine#ofincrements*/angle=0;/*Beginatzerodegrees*/

for(i=0;irads=(double)angle*PI/180.0;/*Convertangletoradians*/points[i].x=xcenter+(int)(cos(rads)*radius);

points[i].y=ycenter-(int)(sin(rads)*radius*AspectRatio);angle+=step;/*Movetonextincrement*/}

circle(xcenter,ycenter,radius);/*Drawboundingcircle*/

for(i=0;ifor(j=i;jmoveto(points[i].x,points[i].y);/*Movetobeginningofcord*/lineto(points[j].x,points[j].y);/*Drawthecord*/}}}main()

{intdriver,mode;

driver=CGA;mode=CGAC0;initgraph(setbkcolor(GREEN);LineToDemo();}

題目:輸入3個(gè)數(shù)a,b,c,按大小順序輸出。

1.程序分析:利用指針?lè)椒ā?.程序源代碼:以下是引用片段:/*pointer*/main(){

intn1,n2,n3;

int*pointer1,*pointer2,*pointer3;printf(\scanf(\pointer1=pointer2=pointer3=

if(n1>n2)swap(pointer1,pointer2);if(n1>n3)swap(pointer1,pointer3);if(n2>n3)swap(pointer2,pointer3);

printf(\}

swap(p1,p2)int*p1,*p2;{intp;

p=*p1;*p1=*p2;*p2=p;}

題目:輸入數(shù)組,最大的與第一個(gè)元素交換,最小的與最終一個(gè)元素交換,輸出數(shù)組。1.程序分析:譚浩強(qiáng)的書(shū)中答案有問(wèn)題。2.程序源代碼:以下是引用片段:main(){

intnumber[10];input(number);max_min(number);output(number);}

input(number)intnumber[10];

{inti;

for(i=0;i*max)max=p;elseif(*parray;p--)*p=*(p-1);*array=array_end;m--;

if(m>0)move(array,n,m);}

題目:有n個(gè)人圍成一圈,順序排號(hào)。從第一個(gè)人開(kāi)始報(bào)數(shù)(從1到3報(bào)數(shù)),凡報(bào)到3的人退出圈子,問(wèn)最終留下的是原來(lái)第幾號(hào)的那位。1.程序分析:2.程序源代碼:以下是引用片段:#definenmax50main(){

inti,k,m,n,num[nmax],*p;

printf(\scanf(\p=num;

for(i=0;i*(p+i)=i+1;i=0;k=0;m=0;while(m{if(*(p+i)!=0)k++;if(k==3){*(p+i)=0;k=0;m++;}

i++;if(i==n)i=0;}

while(*p==0)p++;printf(\}

題目:寫(xiě)一個(gè)函數(shù),求一個(gè)字符串的長(zhǎng)度,在main函數(shù)中輸入字符串,并輸出其長(zhǎng)度。1.程序分析:

2.程序源代碼:以下是引用片段:main(){intlen;char*str[20];

printf(\scanf(\len=length(str);

printf(\}length(p)char*p;{intn;n=0;

while(*p!=’/0’){n++;p++;}returnn;}

題目:編寫(xiě)input()和output()函數(shù)輸入,輸出5個(gè)學(xué)生的數(shù)據(jù)記錄。1.程序分析:2.程序源代碼:以下是引用片段:#defineN5

structstudent{charnum[6];charname[8];intscore[4];}stu[N];input(stu)structstudentstu[];{inti,j;

for(i=0;i{printf(\printf(\scanf(\printf(\scanf(\for(j=0;jdata=num;

ptr->next=(link)malloc(sizeof(node));if(i==4)ptr->next=NULL;elseptr=ptr->next;}ptr=head;while(ptr!=NULL)

{printf(\ptr=ptr->next;}}

題目:反向輸出一個(gè)鏈表。1.程序分析:2.程序源代碼:以下是引用片段:/*reverseoutputalist*/#include\#include\

structlist{intdata;structlist*next;};

typedefstructlistnode;typedefnode*link;voidmain(){linkptr,head,tail;intnum,i;

tail=(link)malloc(sizeof(node));tail->next=NULL;ptr=tail;

printf(\for(i=0;idata=num;

head=(link)malloc(sizeof(node));head->next=ptr;ptr=head;}

ptr=ptr->next;while(ptr!=NULL)

{printf(\ptr=ptr->next;}}

題目:連接兩個(gè)鏈表。1.程序分析:2.程序源代碼:以下是引用片段:#include\#include\structlist{intdata;structlist*next;};

typedefstructlistnode;

typedefnode*link;

linkdelete_node(linkpointer,linktmp){if(tmp==NULL)/*deletefirstnode*/returnpointer->next;else

{if(tmp->next->next==NULL)/*deletelastnode*/tmp->next=NULL;

else/*deletetheothernode*/tmp->next=tmp->next->next;returnpointer;}}

voidselection_sort(linkpointer,intnum){linktmp,btmp;inti,min;for(i=0;i{tmp=pointer

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論