武漢大學計算機學院_第1頁
武漢大學計算機學院_第2頁
武漢大學計算機學院_第3頁
武漢大學計算機學院_第4頁
武漢大學計算機學院_第5頁
已閱讀5頁,還剩108頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1金為八字WuHanUniversity

第四章控制洗

教材:殳計導論

主講:譚成予

nadinetan@163.com

本講重點

語句

結構化程序設計

順序結構程序設計

選擇語句程序設計

循環(huán)語句程序設計

C程序結構

說明部分執(zhí)行部分

(語句)

語句

1、函數(shù)調用語句:用于完成一次函數(shù)調用。

-組成:由一次函數(shù)調用+“;”構成。

例:printf("ThisisaCstatement!55);

2、表達式語句:用于完成一次表達式操作。

■組成:由一個表達式+“;”構成。

例:a=3;i++;是語句,

而a=3和i++是表達式,不是語句o

語句

3、空語句:用作被轉向點或循環(huán)語句中的循

環(huán)體。

?組成:只由一個”構成。

4、復合語句:完成一些特定的操作功能。

?組成:將一些語句用{}括起來構成,在程序中當

作一個語句看待。

語句

/*L4?1.C:復合語句范例*/

#include<stdio.h>

intmain()

{floatx,y,a,t;

scanf(u%f%f;&x,&y);

{z=x+y;

t=z/100;

printf(u%f\t);

return0;

)

語句

5、控制語句

?條件語句:ifv條件>?eke?(或?:)

?多分支選擇語句:switch(){case...;?}

?循環(huán)語句:for()?

while(){?}

do{?}while();

?結束本次循環(huán)語句:continue

?終止循環(huán)或switch語句:break

?轉向語句:goto

?由函數(shù)返回語句:return

Hi

語句書寫要求

C程序書寫格式無特殊要求,一行可寫多

個語句。

習慣遵循:嵌套格式、適當注釋語句。

程序風格

什么是C最好的代碼布局風格?

■保持布局風格對自己,對鄰近及通用源代碼的一致比使

乏完美更重要。

?如果你的編碼環(huán)境(本地習慣或公司政策)沒有建議一

個風格,你也不想發(fā)明自己的風格,可以常用K&R中的

風格。

?參見《印第安山風格指南》(IndianHillStyleGuide)

?“好風格”的品質并不簡單,它包含的內容遠遠不止代

碼的布局細節(jié)。不要把時間都花在格式上而忽略了更

實質性的代碼本身的質量。

JU

程序風格

另一個常用的是匈牙利風格,在windowsAPI中用的很廣。

?匈牙利命名法是微軟推廣的一種關于變量、函數(shù)、對

象、前綴、宏定義等各種類型的符號的命名規(guī)范。

?匈牙利命名法的主要思想是:在變量和函數(shù)名中加入

前綴以增進人們對程序的理解。

?它是由微軟內部的一個匈牙利人發(fā)起使用的,結果它

在微軟內部逐漸流行起來,并且推廣給了全世界的

Windows開發(fā)人員。

本講重點

語句

結構化程序設計

順序結構程序設計

選擇語句程序設計

循環(huán)語句程序設計

結構化程序設計方法

1、含義:它要求程序設計者按照一定的結構形

式來設計和編寫程序。

2、引入結構化程序設計方法的原因:使程序易

讀、易理解、易修改,以提高程序設計和維護

工作的效率。

結構化程序設計方法

3、結構化程序的三種基本結構:

順序結構、選擇結構、循環(huán)結構。

4、結構化程序設計的方法:自頂向下、逐步精

化。

,i,三\

結構化程序設計方法

?例:求一組正數(shù)中的最大者。

逐個讀入數(shù)據(jù),

把最大者送到max中

結構化程序的三種基本結構

1、順序結構程序

2、選擇結構程序

if?else?條件選擇結構

多分支選擇結構(switch)

多構化程序的三種基本結構

3、循環(huán)結構程序

while(){?}當型循環(huán)

do{?}while();直到型循環(huán)

for(){?}循環(huán)

順序結構

1、基本結構

AA

B

B

2、執(zhí)行過程:先執(zhí)行A操作,再執(zhí)行B操作

選擇結構

1、基本結構:

循環(huán)結構-當型循環(huán)

當P條件成立時,反復執(zhí)行A操作,直到P為假時才跳出循環(huán)。

當P為真

A

Hi

循環(huán)結構-直到型循環(huán)

本講重點

語句

結構化程序設計

順序結構程序設計

選擇語句程序設計

循環(huán)語句程序設計

順序結構程序設計

例4?2計算圓周長和球的體積

分析:設半徑為r,圓周長為s,球的體積為

v,則:S=2*3.1415*r

v=3?1415*r*r*r*4?0/3?0

順序結構程序設計

/*L4?2.C:例4.2計算圓周長和球的體積*/

#include<stdio.h>

#definePI3.1415

intmain(void)

{floatr,s,v;

printf(upleaseinputr:\n,J);

scanf(u%f\&r);

s=PI*2*r;

v=PI*r*r*r*4,0/3.0

printf(us=%.4f,v=%.4f\n,,,s,v);

return0;

}

順序結構程序設計

/*L4-3.C:輸入兩個變量取值,并交換兩者取值*/

#include<stdio.h>

intmain(void)

{intx,y,z;

printf(upleaseinputxandy:\n,J);

scanf(u%d%d5,,&x,&y);

z=x;

x=y;

y=z;

printf(ux=%d,y=%d\n,\x,y);

return0;

穗簡單的程序設計一順序結構程序

總結:

順序結構程序中一般不包含控制語句(條

件語句、循環(huán)語句、轉向語句等),從程序的

執(zhí)行次序來看,語句按一定順序依次執(zhí)行,執(zhí)

行順序即語句書寫順序。

本講重點

選擇語句程序設計——if語句

循環(huán)語句程序設計

;\.

-?:、W

E_31

選擇結構---if語句

1、雙分支形式

if(表達式)

語旬1例如:

elseif(x>y)

語句2printf(“max=%d"遇);

else

printf(“max=%d”,y);

選擇結構if語句

2、單分支

if(表達式)語句

例:if(x>y)printf(u%d9\x);

[注意]:表達式為“非0”表示“真”,“0”表示“假”

例:if(x)printf(“%d!=0\n”,x);

elseprintf("x=0\n");

o?g?g?aw?iw?Kadr

選擇結構一if語句

輸出X的值

結束

選擇結構---if語句

#include<stdio.h>

intmain(void)

{intx;

scanf(u%d,\&x);

printf(u|%d|=5\x);

if(x<0)

x=-x;

printf(u%d\n5\x);

return0;

選擇結構一if語句使用要點

i瞰者else后面只能寫一條語句,如果需要多條語句,

必須用{…}括起來(復合語句)。

如:if(a>b)

(

x=l;

max=a;

.選擇結構if語句使用要點

if后的表達式一般情況下為邏輯表達式或關系表達式。

如:if(a==b&&x==y)printf(“a=b,x=y?);

也可以是任意類型(整型、實型、字符型、指針類型)

如:iffa5)print—%d"Ja');

if('3‘)printf("OK!”);

注意:“非零”與“零”的用法

選擇結構一if語句使用要點

?請區(qū)分if(x=1)與if(x==1)的不同

.選擇結構if語句使用要點

例4.5輸入兩個數(shù),按數(shù)值將其按從小到大的順序

輸出.

輸入兩個數(shù)據(jù)

a>b

交換數(shù)據(jù)

輸出數(shù)據(jù)

?選擇結構if語句

/*L4-5.C:*/

#include<stdio.h>

intmain(void)

{inta,b,t;

scanff6%d,%d5\&a,&b);

if(a>b)

(

t=a;a=b;b=t;

}

printfC6%d,%d5\a,b);

return0;

}

?選擇結構if語句

/*L4?6.C:輸入三個數(shù)按從小到大的順序輸出。*/

#include<stdio.h>

intmain(void)

{inta,b,c,t;

scanff6%d%d%d5\&a,&b,&c);

if(a>b){t=a;a=b;b=t;}

if(a>c){t=a;a=c;c=t;}

if(b>c){t=b;b=c;c=t;}

printf(“%d,%d,%d\n”,a,b,c);

return0;

}

選擇結構一一if語句

例4.7:從終端接收輸入的一個整數(shù),判斷該整

數(shù)是否是13的倍數(shù)。

分析:此題算法可如下描述:

1輸入一個整數(shù)口。

2計算n被13除的余數(shù)m;

3如果m等于0,則輸出信息“該數(shù)是13的

倍數(shù)”;否則,輸出“該數(shù)不是13的倍

數(shù)”。

4IHI

?選擇結構if語句

/*L4-7.C*/

#include<stdio.h>

intmain(void)

{

intn,m;

printf(^pleaseinputaninteger:\n");

scanf(u%d,\&n);

m=n%13;

if(m==0)

printf("%d是13的倍數(shù)\n”,n);

else

printf("%d不是13的倍數(shù)

return0;

}

if語句一嵌套形式

1、含義:一條if語句中又包含另一個if語句稱

為if語句的嵌套.

2、一般形式

if()

if()語句1

else語句2

else

if()語句3

else語句4

if語句一嵌套形式

1、if語句中if與else的配對關系---else總是

與它上面的最近的if配對。

書寫格式的縮進與否與它們之間的配對無關

例如:if()

if0語句1

else語句2

這時的else配對的對象為內層的if,而不是外層的if.

if語句一嵌套形式

2、要實行強行的配對關系可以利用{葭

如:if()

{

if0語句1

}

else語句2

if語句一嵌套形式

例4.8:對學生成績分A、B、C、D、E級:

90分以上為A;80?89為B;70?79為C,

60?69為D,60分以下為E.

if語句一嵌套形式

/*L4-8.C*/

#include<stdio.h>

intmain(void)

intscore;

chars;

printf(66enterascore!\n^^);

scanf(“%d”,&score);

if(score>100||score<0)

printf(wdataerror”);

elseif(score>=90)s=aA9;

elseif(score>=80)s='B';

elseif(score>=70)s=6C9;

elseif(score>=60)s='D';

elses='E';

putchar(s);

return0;

)

MIH-

if語句一嵌套形式

例4.9:寫一程序判定某一年是否為閏年。

閏年的判定:某年能被4整除但不能被100整除

或者能被4整除,又能被400整除.

year被4整除

輸出閏年輸出非閏年

if語句一嵌套形式

#include<stdio.h>

intmain(void)

(

intyear,leap;

scanf(“%d“,&year);

if(year%4==0)

if(year%100!=0)

leap=l;

elseif(year%400==0)

leap=l;

elseleap=O;

else/*與第一個if配對*/

leap=O;

if(leap)printf(66%dis”,year);

elseprintf(66%disnot,9,year);

printf(a6aleapyear\nw);

return0;

本講重點

語句

r結構化程序設計__________________、

順序結構程序設計

選擇語句程序設計——switch語句

循環(huán)語句程序設計

switch語句

switch(表達式)

{case常量表達式1:語句塊1

case常量表達式2:語句塊2

????

case常量表達式n:語句塊n

default:語句塊n+1

switch語句

/*L4-10.C:寫出下面程序的輸出結果*/

#include<stdio.h>

intmain(void)

(

intx;

scanf(“%d”,&x);7Why?

switch(x)

{case5:printf(Mexcellentw);

case4:printf{wGood,9);3

case3:printf("Pass"");

case2:printf(“Fail");/*break;*/PassFailPoor

default:printf(66Poorw);

)

return0;

)

switch語句一使用要點

1.switch中的表達式可以是整型或字符型表達式。

(也可以是枚舉類型,新標準的C語言允許為任意類

型.)

2.每個常量表達式的值必須各不相同,否則將會出

現(xiàn)矛盾.

switch語句一使用要點

3.當表達式的值與case后面的常量表達式值相等時就執(zhí)行

此case后面的語句.

4."case常量:”只起語句標號的作用。

5.break語句在switch中的作用:

強行跳出switqh體轉到其它某條語句;-一

每個case后面應看一個break語句(否則程序的執(zhí)行順

序將改變);

de宇ault分支后的break可以省略。

6.各個case出現(xiàn)的先后順序不影響程序的執(zhí)行結果.

7.多個case可以執(zhí)行同一組語句。

4IHI

switch語句

/*L4-H.C:閱讀程序,指出程序的運行結果*/

#include<stdio.h>

intmain()

{inta,b,c;

a=2;b=7;c=5;

switch(a>0)

{casel:switch(b<10)

{case1:printf(u@H);break;

caseO:printf(n!n);break;

}

case0:switch(c==5)

{caseO:printf(n*n);break;

case1:printf(n#n);break;

default:printf(H%n);break;

}

default:printf(n&,!);

忱:,必@#&B.!#&C.@#D.!*

}——

switch語句

/*L4-12.C:用switch語句改寫例4.8*/case7:

#include<stdio.h>s=6C,;break;

intmain(void)case6:

{intscore;chars;s=6D5;break;

printf(uenterascore!\n,5);default:s='E‘;

u,J

scanf(%d,&score);}

if(score>100||score<0)putchar(s);

printf(^dataerror");}

else{return0;

switch(score/10)

{case10:

case9:s='AJ;break;

case8:s='B,;break;

本講重點

語句

結構化程序設計

順序結構程序設計

選擇語句程序設計

循環(huán)語句程序設計

循環(huán)結構

重復執(zhí)行某一種動作(代碼)若干次。

goto語句構成的循環(huán)

while循環(huán)

do—while循環(huán)

for循環(huán)

循環(huán)的嵌套使用:一個循環(huán)中又包含另一個循環(huán)成

為循環(huán)的嵌套。上面講到的三種循環(huán)可以互相嵌套.

while語句

while語句一般完成當型循環(huán)o

while(表達式p)

語句

執(zhí)行過程:當表達式P為非零時,反復執(zhí)行A操

作,直到P為假時才停止。

while語句

while語句

/*L4?13.C:l+2+.??+100*/

#include<stdio.h>

intmain(void)

{inti,sum=0;

i=l;

while(i<=100)

{sum=sum+i;

i++;

}

printf("%d”,sum);5050

return0;

}

while語句使用要點

1、語句一面要么是單條語句,要么是復合語句

2、循環(huán)體若不止一條語句時,應用{…}括起來。

3、在循環(huán)體中應有使循環(huán)趨于結束的語句,以

避免“死循環(huán)”。

while語句

/*L4.14.C:統(tǒng)計個位數(shù)是6,且能被3整除的5位數(shù)的數(shù)目*/

#include<stdio.h>

intmain(void)

{longintn=10006;

intcount=0;

while(n<=99999)

{if(n%3==0)count++;

n+=10;

printf(ucount=%d\n,,,count);

return0;

}

do-while語句

do一while語句一般完成直到型循環(huán)。

do{

語句塊;

}while(表達式p);

執(zhí)行過程:先執(zhí)行循環(huán)體,后判定表達式,當表

達式的值為“假”時,循環(huán)結束。

do-while語句

do-while語句

循環(huán)語句for語句

for(表達式1;表達式2;表達式3)

語句

用于循環(huán)次數(shù)已確定或給定循環(huán)條件的

情況,適合于描述一個事物從初始態(tài)到

終止態(tài)的變化過程。最為靈活。

循環(huán)語句----for語句

求解表達式1

求解表達式3

、「

for循環(huán)下面的語句

循環(huán)語句---for語句

100#include<stdio.h>

例4.15:求£nintmain(void)

n=linti,sum=0;

for(i=l;i<=100;i++)

sum=sum+i;

printf(u%d5\sum);

return0;

5050

for語句使用要點

1、for語句中的表達式1可以省略,但在

for循環(huán)之前應給循環(huán)變量賦值.

例如:i=l;

for(;i<=100;i++)

sum=sum+i;

2、表達式2也可以省略,但循環(huán)將陷入死循

環(huán)。

例如:for(i=l;;i++)sum=sum+i;

4im

for語句使用要點

3、表達式3也可以省略,但應在循環(huán)體中增加使

循環(huán)變量值改變的語句.

例如:for(sum=0J=0;i<=100;)

(

sum=sum+i;i++;

for語句使用要點

4、表達式1和表達式3也可以同時省略;

例如:i=l;sum=0;

for(;i<=100;)

(

sum=sum+i;i++;

這是完全與while循環(huán)等同.

for語句使用要點

5、三個表達式都可以省略,但“;”不能省略。

for(;;)sum=sum+i;

循環(huán)將無休止的執(zhí)行下去

for語句使用要點

6表達式i中的表達式可以是循環(huán)變量的賦初值

的表達式,也可是與賦初值根本無關的其他表

達式,或者兩者兼而有之.

例如:for(sum=0J=1;i<=100;i++)

sum=sum+i;

表達式3也可以出現(xiàn)同樣的情況,例如:

for語句使用要點

7、表達式2一般情況下是關系表達式或邏輯表達

式,也可以是其他表達式。

例如:for(;(c=getchar())!='\n';printf(“%c”,c));

若輸入:cauc」

輸出為cauc.

循環(huán)語句---for語句

/*L4-16.C:求n!*/

#include<stdio.h>

intmain(void)

r

inti,n;

longfact=l;

printf(upleaseinputn:\nJ,);

scanf(u%dJ\&n);

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

fact*=i;5

printf(u%d!=%ld,,,n,fact);5!=120

return0;

}

循環(huán)語句---for語句

例4.17:求一個等差數(shù)列前n項的和:

ai+rai=d(i=l,2,3……)

分析:1輸入n、d和等差數(shù)列的第一個數(shù)a的取值。

2sum、i的初值置0

3a+sum^sum

4計算數(shù)列中下一個數(shù)的取值a+d^a

5i+l^i

6重復3、4、5步直到i大于n

7輸出結果n

循環(huán)語句for語句

/*L4-17.C:*/

#include<stdio.h>

intmain(void)

inta,d,n9i;

intai,sum=0;

printf(uinputa=?\td=?\tn=?\n,5);

scanf(u%d%d%d,J,&a,&d,&n);

ai=a;

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

{sum+=ai;

ai+=d;

)

printf(usum=%d\n,,,sum);

return0;

)

循環(huán)語句嵌套

while(表達式1)

while(表達式2)

循環(huán)語句嵌套

while(表達式1)

do{while(表達式2)

循環(huán)語句嵌套

while(表達式1)

for(???;???;???)

循環(huán)語句嵌套

例4.18輸出圖形

********

********

********

循環(huán)語句嵌套

循環(huán)語句—嵌套

例4.19編寫一個九九乘法表的程序

分析:九九乘法表分9行,第i行共i個小項。

i*ji=l,2,...,9j=l,2,...,i

循環(huán)語句嵌套

#include<stdio.h>

intmain(void)

inti,j;

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

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

printf(^%ld*%ld=%4d,,,i,j,i*j);

printf("\n");

}

return0;

本講重點

選擇語句程序設計

循環(huán)語句程序設計---breakcontinue

;\.

-?:、W

E_31

break語句

1.break語句的功能:用于從循環(huán)體內跳出循環(huán)

體,即提前結束循環(huán)。

2.使用要點:break只能用在循環(huán)語句和switch

語句中.

break語句

/*L4?20.C:計算r=l到r=10的圓面積,當面積大于100時結束循環(huán)。*/

#include<stdio.h>

#definePI3.1415

intmain()

{intr;

floatarea;

for(r=l;r<=10;r++)

{area=PI*r*r;

if(area>100)break

)

printf("%r’,area);

)

break語句

例4.2L某銀行利息2.8%(以復利計)。假設某

儲戶存入本金8000元,當滿足以下條件

之一,儲戶從銀行將錢取出。

(1)儲蓄滿10年

(2)連本帶金超過10000元

編程求儲戶會在第幾年將錢取出,取出時連本

帶息是多少?

4IHI

break語句

#include<stdio.h>

intmain(void)

{intyear,month=8000;

for(year=l;year<=10;year++)

{money=money*0.8+money;

if(money>10000)break;

printf(“%dyear%d\n”,year,money);

return0;

break語句

例4.22:百雞問題:一只公雞值5個錢,一只母雞

值3個錢,三只小雞值1個錢,現(xiàn)有100個錢,要

買100個雞,是否可以?要求三種雞都有。

分析:設公雞、母雞、小雞各x、y、z只,則可

知:

z=100-x-y

5x+3y+z/3=100

4im

break語句

#include<stdio.h>

intmain(void)

intx,y,z;

for(x=0;x<=20;++x)

{for(y=0;y<34;y++)

{z=100-x-y;

if((z%3==0)&&((5*x+3*y+z/3尸=100))

break;

if(x&&y&&z&&y<34){

printf(ucook=%dhen==%dchicken=%d\n,J,x,y,z);

printf(uthisisonesolution.、!!”);

break;

return0;

}

continue語句

1、功能:結束本次循環(huán),接著判定下一次是否執(zhí)行

循環(huán)。

2、continue與break的區(qū)另U:

continue只結束本次循環(huán),

break終止本層循環(huán).

continue語句

/*L4?23.C:輸出100?200之間不能被3整除的數(shù).*/

#include<stdio.h>

intmain(void)

{intn;

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

if(n%3==0)continue;

printf(66%d5\n);

)

return0;

}

goto語句

goto語句標號;

目前goto語句很少使用,過多的使用goto語句會降低

程序的可讀性。

應用舉例

應用舉例

例4.24:輸入一行字符,分別統(tǒng)計其中字母、空

格、數(shù)字及其他字符的個數(shù)。

分析:1讀入一個字符到變量c

2判斷c是哪一類,再給相應計數(shù)的變量

力口1

3重復1、2直至卜等于'\if

應用舉例

#include<stdio.h>

intmain(void)

{intletter=0,space=09digit=0,other=0;

charc;

while((c=getchar())!='\n')

if(c>="&&cv=,1|c>=,A,&&cv=,Z,)

letter++;

elseif(c==65)space++;

elseif(c>=605&&c<=<95)digit++;

elseother++;

printf(66letter=%d,space=%d,digit=%d,

other=%d\n?\letter,space,digit,other);

return0;

}

應用舉例

例4.25:打印出2?1000之間的所有完數(shù)。完數(shù)指

這樣的數(shù),該數(shù)的各個因子之和等于該數(shù)本身。

分析:例如:6=1+2+3

28=1+2+4+7+14

所以6和28都是完數(shù)。

典型枚舉問題,即取2?1000之間的每個數(shù)m,

計算m的因子和,即可判別m是否是完數(shù)

應用舉例

#include<stdio.h>

intmain(void)

{intm,i,s;

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

(

s=0;

for(i=l;i<=m/2;i++)

if(m%i==0)s+=i;

if(m==s)

printf(“%6d”,m);

}

return0;

例4.26:冒泡排序法

用冒泡法對10個整數(shù)按照從小到大的順序排序

排序算法是將一系列類似的數(shù)據(jù)按升序或降序排列的過程,

冒泡排序法是其中的一種.

冒泡排序法的思路:

假設數(shù)組有n個數(shù)組元素,采用冒泡排序法對該數(shù)組進行

排序。

1.先找到最大的數(shù)放到數(shù)組最后一個位置;

2.再從余下的個數(shù)中找到最大者,放置在數(shù)組的倒數(shù)

第2個位置上;

3.重復以上過程,直到數(shù)組排序工作結束

冒泡排序法

冒泡排序法排序過程:

(1)比較第一個數(shù)與第二個數(shù),若為逆序a[O]>a[l],則交換;

然后比較第二個數(shù)與第三個數(shù);依次類推,直至第n?l個數(shù)和

第n個數(shù)比較為止——第一趟冒泡排序,結果最大的數(shù)被安置

在最后一個元素位置上;

(2)對前個數(shù)進行第二趟冒泡排序,結果使次大的數(shù)被安

置在第個元素位置;

(3)重復上述過程,共經過n?l趟冒泡排序后,排序結束。

冒泡排序法

輸入n個數(shù)給a[0]到a[n-l]

forj=0ton-2

fori=0ton-2-j

a[i]oa[i+l]

輸出a[0]到a[n-l]

#include<stdio.h>冒泡排序法

intmain()

{inta[10],ij,t;

printf(nInput10numbers:\nn);

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

scanf(n%dn,&a[i]);

printf(n\nn);

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

fbr(i=0;i<9-j;i++)

if(a[i]>a[i+l])

{t=a[i];a[i]=a[i+l];a[i+l]=t;}

printff'Thesortednumbers:\nn);

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

print-%d\a[i]);

return0;

冒泡排序法

#include<stdio.h>if(a[j]>a[j+l])

#defineNUM10(

intmain()k=a[j];

(a[j]=a[j+l];

inta[NUM],i,j,k;a[j+l]=k;

intflag;flag=l;

printf(C4pleaseinputarraya:");}

fbr(i=0;i<NUM;i++)i++;

scanfT%d'',&a[i]);}while(flag);

i=0;print*“thesortednumbers:\n");

do{fdr(i=0;i<NUM;i++)

flag=0;prints"%4d",a[i]);

for(j=0;j<NUM-i-l;j++)return0;

)

3

叱例4.27:一行字符,統(tǒng)計其中各個大寫字母出現(xiàn)的次數(shù)。

#include<stdio.h>

intmain(void)

{charch;

intn[26],i;

/*初始化數(shù)組n*/

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

n[i]=0;

溫馨提示

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

評論

0/150

提交評論