C語言程序設計50例_第1頁
C語言程序設計50例_第2頁
C語言程序設計50例_第3頁
C語言程序設計50例_第4頁
C語言程序設計50例_第5頁
已閱讀5頁,還剩46頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——C語言程序設計50例C語言程序設計50例

C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。下面我給大家介紹如何C語言程序設計50例,接待閱讀!

C語言程序設計50例

題目:有1、2、3、4個數字,能組成多少個互不一致且無重復數字的三位數?都是多少?

1.程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成全體的排列后再去

掉不得志條件的排列。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inti,j,k;

printf;

fori=1;i5;i++/*以下為三重循環*/

forj=1;j5;j++

fork=1;k5;k++

ifi!=ki!=jj!=k/*確保i、j、k三位互不一致*/

printf%d,%d,%d,i,j,k;

getch;

題目:企業發放的獎金根據利潤提成。利潤I低于或等于10萬元時,獎金可提10%;利潤高

于10萬元,低于20萬元時,低于10萬元的片面按10%提成,高于10萬元的片面,可可提

成7.5%;20萬到40萬之間時,高于20萬元的片面,可提成5%;40萬到60萬之間時高于

40萬元的片面,可提成3%;60萬到100萬之間時,高于60萬元的片面,可提成1.5%,高于

100萬元時,超過100萬元的片面按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?

1.程序分析:請利用數軸來分界,定位。留神定義時需把獎金定義成長整型。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

longinti;

intbonus1,bonus2,bonus4,bonus6,bonus10,bonus;

scanf%ld,i;

bonus1=100000*0.1;

bonus2=bonus1+100000*0.75;

bonus4=bonus2+200000*0.5;

bonus6=bonus4+200000*0.3;

bonus10=bonus6+400000*0.15;

ifi=100000

bonus=i*0.1;

elseifi=200000

bonus=bonus1+i-100000*0.075;

elseifi=400000

bonus=bonus2+i-200000*0.05;

elseifi=600000

bonus=bonus4+i-400000*0.03;

elseifi=1000000

bonus=bonus6+i-600000*0.015;

else

bonus=bonus10+i-1000000*0.01;

printfbonus=%d,bonus;

getch;

題目:一個整數,它加上100后是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?

1.程序分析:在10萬以內判斷,先將該數加上100后再開方,再將該數加上268后再開方,假設開方后

的結果得志如下條件,即是結果。請看概括分析:

2.程序源代碼:

復制代碼代碼如下:

#includemath.h

#includestdio.h

#includeconio.h

main

longinti,x,y,z;

fori=1;i100000;i++

x=sqrti+100;/*x為加上100后開方后的結果*/

y=sqrti+268;/*y為再加上168后開方后的結果*/

ifx*x==i+100y*y==i+268/*假設一個數的平方根的平方等于該數,這說明此數是完全平方數*/

printf%ld,i;

getch;

題目:輸入某年某月某日,判斷這一天是這一年的第幾天?

1.程序分析:以3月5日為例,理應先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊

處境,閏年且輸入月份大于3時需考慮多加一天。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

intday,month,year,sum,leap;

printfpleaseinputyear,month,day;

scanf%d,%d,%d,year,month,day;

switchmonth/*先計算某月以前月份的總天數*/

case1:sum=0;break;

case2:sum=31;break;

case3:sum=59;break;

case4:sum=90;break;

case5:sum=120;break;

case6:sum=151;break;

case7:sum=181;break;

case8:sum=212;break;

case9:sum=243;break;

case10:sum=273;break;

case11:sum=304;break;

case12:sum=334;break;

default:printfdataerror;break;

sum=sum+day;/*再加上某天的天數*/

ifyear%400==0||year%4==0year%100!=0/*判斷是不是閏年*/

leap=1;

else

leap=0;

ifleap==1month2/*假設是閏年且月份大于2,總天數理應加一天*/

sum++;

printfItisthe%dthday.,sum;

getch;

題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。

1.程序分析:我們想手段把最小的`數放到x上,先將x與y舉行對比,假設xy那么將x與y的值舉行交換,

然后再用x與z舉行對比,假設xz那么將x與z的值舉行交換,這樣能使x最小。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

intx,y,z,t;

scanf%d%d%d,x,y,z;

ifxy

t=x;x=y;y=t;/*交換x,y的值*/

ifxz

t=z;z=x;x=t;/*交換x,z的值*/

ifyz

t=y;y=z;z=t;/*交換z,y的值*/

printfsmalltobig:%d%d%d,x,y,z;

getch;

題目:用*號輸出字母C的圖案。

1.程序分析:可先用*號在紙上寫出字母C,再分行輸出。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

printfHelloC-world!;

printf****;

printf*;

printf*;

printf****;

getch;

題目:輸出特殊圖案,請在c環境中運行,看一看,VeryBeautiful!

1.程序分析:字符共有256個。不同字符,圖形不一樣。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

chara=176,b=219;

printf%c%c%c%c%c,b,a,a,a,b;

printf%c%c%c%c%c,a,b,a,b,a;

printf%c%c%c%c%c,a,a,b,a,a;

printf%c%c%c%c%c,a,b,a,b,a;

printf%c%c%c%c%c,b,a,a,a,b;

getch;

題目:輸出9*9口訣。

1.程序分析:分行與列考慮,共9行9列,i操縱行,j操縱列。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inti,j,result;

printf;

fori=1;i10;i++

forj=1;j10;j++

result=i*j;

printf%d*%d=%-3d,i,j,result;/*-3d表示左對齊,占3位*/

printf;/*每一行后換行*/

getch;

題目:要求輸出國際象棋棋盤。

1.程序分析:用i操縱行,j來操縱列,根據i+j的和的變化來操縱輸出黑方格,還是白方格。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inti,j;

fori=0;i8;i++

forj=0;j8;j++

ifi+j%2==0

printf%c%c,219,219;

else

printf;

printf;

getch;

題目:打印樓梯,同時在樓梯上方打印兩個笑臉。

1.程序分析:用i操縱行,j來操縱列,j根據i的變化來操縱輸出黑方格的個數。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inti,j;

printf11;/*輸出兩個笑臉*/

fori=1;i11;i++

forj=1;j=i;j++

printf%c%c,219,219;

printf;

getch;

題目:古典問題:有一對兔子,從出世后第3個月起每個月都生一對兔子,小兔子長到第三個月

后每個月又生一對兔子,假使兔子都不死,問每個月的兔子總數為多少?

1.程序分析:兔子的規律為數列1,1,2,3,5,8,13,21

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

longf1,f2;

inti;

f1=f2=1;

fori=1;i=20;i++

printf%12ld%12ld,f1,f2;

ifi%2==0printf;/*操縱輸出,每行四個*/

f1=f1+f2;/*前兩個月加起來賦值給第三個月*/

f2=f1+f2;/*前兩個月加起來賦值給第三個月*/

getch;

題目:判斷101-200之間有多少個素數,并輸出全體素數。

1.程序分析:判斷素數的方法:用一個數分別去除2到sqrt這個數,假設能被整除,

那么說明此數不是素數,反之是素數。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

#includemath.h

main

intm,i,k,h=0,leap=1;

printf;

form=101;m=200;m++

k=sqrtm+1;

fori=2;i=k;i++

ifm%i==0

leap=0;

break;

ifleap

printf%-4d,m;

h++;

ifh%10==0

printf;

leap=1;

printfThetotalis%d,h;

getch;

題目:打印出全體的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字立方和等于該數

本身。例如:153是一個“水仙花數”,由于153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循環操縱100-999個數,每個數分解出個位,十位,百位。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inti,j,k,n;

printfwaterflowernumberis:;

forn=100;n1000;n++

i=n/100;/*分解出百位*/

j=n/10%10;/*分解出十位*/

k=n%10;/*分解出個位*/

ifi*100+j*10+k==i*i*i+j*j*j+k*k*k

printf%-5d,n;

getch;

題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。

程序分析:對n舉行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成:

1假設這個質數恰等于n,那么說明分解質因數的過程已經終止,打印出即可。

2假設nk,但n能被k整除,那么應打印出k的值,并用n除以k的商,作為新的正整數你n,

重復執行第一步。

3假設n不能被k整除,那么用k+1作為k的值,重復執行第一步。

2.程序源代碼:

復制代碼代碼如下:

/*zhengintispidedyinshu*/

#includestdio.h

#includeconio.h

main

intn,i;

printfpleaseinputanumber:;

scanf%d,n;

printf%d=,n;

fori=2;i=n;i++

whilen!=i

ifn%i==0

printf%d*,i;

n=n/i;

else

break;

printf%d,n;

getch;

題目:利用條件運算符的嵌套來完成此題:學習勞績=90分的同學用A表示,60-89分之間的用B表示,

60分以下的用C表示。

1.程序分析:ab?a:b這是條件運算符的根本例子。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

intscore;

chargrade;

printfpleaseinputascore;

scanf%d,score;

grade=score=90?A:score=60?B:C;

printf%dbelongsto%c,score,grade;

getch;

題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。

1.程序分析:利用輾除法。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inta,b,num1,num2,temp;

printfpleaseinputtwonumbers:;

scanf%d,%d,num1,num2;

ifnum1num2/*交換兩個數,使大數放在num1上*/

temp=num1;

num1=num2;

num2=temp;

a=num1;b=num2;

whileb!=0/*利用輾除法,直到b為0為止*/

temp=a%b;

a=b;

b=temp;

printfgongyueshu:%d,a;

printfgongbeishu:%d,num1*num2/a;

getch;

題目:輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。

1.程序分析:利用while語句,條件為輸入的字符不為.

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

charc;

intletters=0,space=0,digit=0,others=0;

printfpleaseinputsomecharacters;

whilec=get!=

ifc=ac=z||c=Ac=Z

letters++;

elseifc==

space++;

elseifc=0c=9

digit++;

else

others++;

printfallinall:char=%dspace=%ddigit=%dothers=%d,letters,

space,digit,others;

getch;

題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。例如2+22+222+2222+22222此時

共有5個數相加,幾個數相加有鍵盤操縱。

1.程序分析:關鍵是計算出每一項的值。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inta,n,count=1;

longintsn=0,tn=0;

printfpleaseinputaandn;

scanf%d,%d,a,n;

printfa=%d,n=%d,a,n;

whilecount=n

tn=tn+a;

sn=sn+tn;

a=a*10;

++count;

printfa+aa+...=%ld,sn;

getch;

題目:一個數假設恰好等于它的因子之和,這個數就稱為“完數”。例如6=1+2+3.編程

找出1000以內的全體完數。

1.程序分析:請參照程序--上頁程序14.

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

staticintk[10];

inti,j,n,s;

forj=2;j1000;j++

n=-1;

s=j;

fori=1;ij;i++

ifj%i==0

n++;

s=s-i;

k[n]=i;

ifs==0

printf%disawanshu,j;

fori=0;in;i++

printf%d,,k;

printf%d,k[n];

getch;

題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在

第10次落地時,共經過多少米?第10次反彈多高?

1.程序分析:見下面解釋

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includestdio.h

main

floatsn=100.0,hn=sn/2;

intn;

forn=2;n=10;n++

sn=sn+2*hn;/*第n次落地時共經過的米數*/

hn=hn/2;/*第n次反跳高度*/

printfthetotalofroadis%f,sn;

printfthetenthis%fmeter,hn;

getch;

題目:猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個

其次天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下

的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。

1.程序分析:采取逆向思維的方法,從后往前推斷。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

intday,x1,x2;

day=9;

x2=1;

whileday0

x1=x2+1*2;/*第一天的桃子數是第2天桃子數加1后的2倍*/

x2=x1;

day--;

printfthetotalis%d,x1;

getch;

題目:兩個乒乓球隊舉行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽抉擇

比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出

三隊賽手的名單。

1.程序分析:判斷素數的方法:用一個數分別去除2到sqrt這個數,假設能被整除,

那么說明此數不是素數,反之是素數。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

chari,j,k;/*i是a的對手,j是b的對手,k是c的對手*/

fori=x;i=z;i++

forj=x;j=z;j++

ifi!=j

fork=x;k=z;k++

ifi!=kj!=k

ifi!=xk!=xk!=z

printforderisa--%cb--%cc--%c,i,j,k;

getch;

題目:打印出如下圖案(菱形)

*

***

*****

*******

*****

***

*

1.程序分析:先把圖形分成兩片面來對付,前四行一個規律,后三行一個規律,利用雙重

for循環,第一層操縱行,其次層操縱列。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inti,j,k;

fori=0;i=3;i++

forj=0;j=2-i;j++

printf;

fork=0;k=2*i;k++

printf*;

printf;

fori=0;i=2;i++

forj=0;j=i;j++

printf;

fork=0;k=4-2*i;k++

printf*;

printf;

getch;

題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。

1.程序分析:請抓住分子與分母的變化規律。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

intn,t,number=20;

floata=2,b=1,s=0;

forn=1;n=number;n++

s=s+a/b;

t=a;a=a+b;b=t;/*這片面是程序的關鍵,請讀者猜猜t的作用*/

printfsumis%9.6f,s;

getch;

C語言程序設計50例

題目:求1+2!+3!+...+20!的和

1.程序分析:此程序只是把累加變成了累乘。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

floatn,s=0,t=1;

forn=1;n=20;n++

t*=n;

s+=t;

printf1+2!+3!...+20!=%e,s;

getch;

題目:利用遞歸方法求5!。

1.程序分析:遞歸公式:fn=fn_1*4!

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inti;

intfact;

fori=0;i5;i++

printf40:%d!=%d,i,facti;

getch;

intfactj

intj;

intsum;

ifj==0

sum=1;

else

sum=j*factj-1;

returnsum;

題目:利用遞歸函數調用方式,將所輸入的5個字符,以相反依次打印出來。

1.程序分析:

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inti=5;

voidpalinintn;

printf40:;

palini;

printf;

getch;

voidpalinn

intn;

charnext;

ifn=1

next=get;

printf:;

putnext;

else

next=get;

palinn-1;

putnext;

題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第

3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。結果

問第一個人,他說是10歲。請問第五個人多大?

1.程序分析:利用遞歸的方法,遞歸分為回推和遞推兩個階段。要想知道第五個人歲數,需知道

第四人的歲數,依次類推,推到第一人(10歲),再往回推。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

agen

intn;

intc;

ifn==1c=10;

elsec=agen-1+2;

returnc;

main

printf%d,age5;

getch;

題目:給一個不多于5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。

1.程序分析:學會分解出每一位數,如下解釋:這里是一種簡樸的算法,師專數002班趙鑫供給

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

longa,b,c,d,e,x;

scanf%ld,x;

a=x/10000;/*分解出萬位*/

b=x%10000/1000;/*分解出千位*/

c=x%1000/100;/*分解出百位*/

d=x%100/10;/*分解出十位*/

e=x%10;/*分解出個位*/

ifa!=0printfthereare5,%ld%ld%ld%ld%ld,e,d,c,b,a;

elseifb!=0printfthereare4,%ld%ld%ld%ld,e,d,c,b;

elseifc!=0printfthereare3,%ld%ld%ld,e,d,c;

elseifd!=0printfthereare2,%ld%ld,e,d;

elseife!=0printfthereare1,%ld,e;

getch;

題目:一個5位數,判斷它是不是回文數。即12321是回文數,個位與萬位一致,十位與千位一致。

1.程序分析:同29例

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

longge,shi,qian,wan,x;

scanf%ld,x;

wan=x/10000;

qian=x%10000/1000;

shi=x%100/10;

ge=x%10;

ifge==wanshi==qian/*個位等于萬位并且十位等于千位*/

printfthisnumberisahuiwen;

else

printfthisnumberisnotahuiwen;

getch;

題目:請輸入星期幾的第一個字母來判斷一下是星期幾,假設第一個字母一樣,那么持續

判斷其次個字母。

1.程序分析:用處境語句對比好,假設第一個字母一樣,那么判斷用處境語句或if語句判斷其次個字母。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

voidmain

charletter;

printfpleaseinputthefirstletterofsomeday;

whileletter=getch!=Y/*當所按字母為Y時才終止*/

switchletter

caseS:printfpleaseinputsecondletter;

ifletter=getch==a

printfsaturday;

elseifletter=getch==u

printfsunday;

elseprintfdataerror;

break;

caseF:printffriday;break;

caseM:printfmonday;break;

caseT:printfpleaseinputsecondletter;

ifletter=getch==u

printftuesday;

elseifletter=getch==h

printfthursday;

elseprintfdataerror;

break;

caseW:printfwednesday;break;

default:printfdataerror;

getch;

題目:Pressanykeytochangecolor,doyouwanttotryit.Pleasehurryup!

1.程序分析:

2.程序源代碼:

復制代碼代碼如下:

#includeconio.h

#includestdio.h

voidmainvoid

intcolor;

forcolor=0;color8;color++

textbackgroundcolor;/*設置文本的背景顏色*/

cprintfThisiscolor%d,color;

cprintfPressanykeytocontinue;

getch;/*輸入字符看不見*/

題目:學習gotoxy與clrscr函數

1.程序分析:

2.程序源代碼:

復制代碼代碼如下:

#includeconio.h

#includestdio.h

voidmainvoid

clrscr;/*清屏函數*/

textbackground2;

gotoxy1,5;/*定位函數*/

cprintfOutputatrow5column1;

textbackground3;

gotoxy20,10;

cprintfOutputatrow10column20;

getch;

題目:練習函數調用

1.程序分析:

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

voidhello_worldvoid

printfHello,world!;

voidthree_hellosvoid

intcounter;

forcounter=1;counter=3;counter++

hello_world;/*調用此函數*/

voidmainvoid

three_hellos;/*調用此函數*/

getch;

題目:文本顏色設置

1.程序分析:

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

voidmainvoid

intcolor;

forcolor=1;color16;color++

textcolorcolor;/*設置文本顏色*/

cprintfThisiscolor%d,color;

textcolor128+15;

cprintfThisisblinking;

getch;

題目:求100之內的素數

1.程序分析:

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includemath.h

#defineN101

main

inti,j,line,a[N];

fori=2;iN;i++a=i;

fori=2;isqrtN;i++

forj=i+1;jN;j++

ifa!=0a[j]!=0

ifa[j]%a==0

a[j]=0;

printf;

fori=2,line=0;iN;i++

ifa!=0

printf%5d,a;

line++;

ifline==10

printf;

line=0;

getch;

題目:對10個數舉行排序

1.程序分析:可以利用選擇法,即從后9個對比過程中,選擇一個最小的與第一個元素交換,

下次類推,即用其次個元素與后8個舉行對比,并舉行交換。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

#defineN10

main

inti,j,min,tem,a[N];

/*inputdata*/

printfpleaseinputtennum:;

fori=0;iN;i++

printfa[%d]=,i;

scanf%d,a;

printf;

fori=0;iN;i++

printf%5d,a;

printf;

/*sorttennum*/

fori=0;iN-1;i++

min=i;

forj=i+1;jN;j++

ifa[min]a[j]

min=j;

tem=a;

a=a[min];

a[min]=tem;

/*outputdata*/

printfAftersorted;

fori=0;iN;i++

printf%5d,a;

getch;

題目:求一個3*3矩陣對角線元素之和

1.程序分析:利用雙重for循環操縱輸入二維數組,再將a累加后輸出。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

/*假設使用的是TC系列編譯器那么可能需要添加下句*/

staticvoiddummyfloatfloat*xfloaty;dummyfloaty;

main

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

inti,j;

printfpleaseinputrectangleelement:;

fori=0;i3;i++

forj=0;j3;j++

scanf%f,a[j];

fori=0;i3;i++

sum=sum+a;

printfduijiaoxianheis%6.2f,sum;

getch;

題目:有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。

1.程序分析:首先判斷此數是否大于結果一個數,然后再考慮插入中間的數的處境,插入后

此元素之后的數,依次后移一個位置。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inta[11]=1,4,6,9,13,16,19,28,40,100;

inttemp1,temp2,number,end,i,j;

printforiginalarrayis:;

fori=0;i10;i++

printf%5d,a;

printf;

printfanewnumber:;

scanf%d,number;

end=a[9];

ifnumberend

a[10]=number;

else

fori=0;i10;i++

ifanumber

temp1=a;

a=number;

forj=i+1;j11;j++

temp2=a[j];

a[j]=temp1;

temp1=temp2;

break;

fori=0;i11;i++

printf%6d,a;

getch;

題目:將一個數組逆序輸出。

1.程序分析:用第一個與結果一個交換。

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

#defineN5

main

inta[N]=9,6,5,4,1,i,temp;

printforiginalarray:;

fori=0;iN;i++

printf%4d,a;

fori=0;iN/2;i++

temp=a;

a=a[N-i-1];

a[N-i-1]=temp;

printfsortedarray:;

fori=0;iN;i++

printf%4d,a;

getch;

題目:學習static定義靜態變量的用法

1.程序分析:

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

varfunc

intvar=0;

staticintstatic_var=0;

printf40:varequal%d,var;

printf40:staticvarequal%d,static_var;

printf;

var++;

static_var++;

voidmain

inti;

fori=0;i3;i++

varfunc;

getch;

題目:學習使用auto定義變量的用法

1.程序分析:

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inti,num;

num=2;

fori=0;i3;i++

printf40:Thenumequal%d,num;

num++;

autointnum=1;

printf40:Theinternalblocknumequal%d,num;

num++;

getch;

題目:學習使用static的另一用法。

1.程序分析:

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

main

inti,num;

num=2;

fori=0;i3;i++

printf40:Thenumequal%d,num;

num++;

staticintnum=1;

printf40:Theinternalblocknumequal%d,num;

num++;

getch;

題目:學習使用external的用法。

1.程序分析:

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

inta,b,c;

voidadd

inta;

a=3;

c=a+b;

voidmain

a=b=4;

add;

printfThevalueofcisequalto%d,c;

getch;

題目:學習使用register定義變量的方法。

1.程序分析:

2.程序源代碼:

復制代碼代碼如下:

#includestdio.h

#includeconio.h

voidmain

r

溫馨提示

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

評論

0/150

提交評論