久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

C語言譚浩強第四版例題

時間:2019-05-11 23:51:11下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《C語言譚浩強第四版例題》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《C語言譚浩強第四版例題》。

第一篇:C語言譚浩強第四版例題

例1.1 要求在屏幕上輸入以下一行信息.This is a C program.編寫程序: #include

// 這是編譯預?處理命令 int main()

// 定義主函數

{

// 函數開始的標志

printf(“This is a C program.n”);

// 輸出所指定的一行信息

return 0;

// 函數執行完畢時返回函數值0 }

例1.2 求兩個整數之和.編寫程序: #include

// 這是編譯預處理命令

int main()

// 定義主函數 {

// 函數開始

int a,b,sum;

// 本行是程序的聲明部分,定義a、b、sum為整型變量

a = 123;

// 對變量a賦值

b = 456;

// 對變量b賦值

sum = a + b;

// 進行a+b 的運算,并把結果存放在變量sum中

printf(“sum is %dn”,sum);

// 輸出結果

return 0;

// 使函數返回值為0 }

// 函數結束

例1.3 求兩個整數的較大者.編寫程序: #include int main()

// 定義主函數 {

// 主函數體開始

int max(int x,int y);

// 對被調用函數max的聲明

int a,b,c;

// 定義變量a,b,c scanf(“%d,%d”,&a,&b);

// 輸入變量a和b的值

c = max(a,b);

// 調用max函數,將得到的值賦給c

printf(“max=%dn”,c);

// 輸出c的值

return 0;

// 返回函數值為0 }

int max(int x,int y)

//定義max函數,函數值為整型, 形式參數x和y為整型

{ int z;

// max函數中的聲明部分,定義本函數中用到的變量z為整型

if(x > y)z = x;else z = y;return(z);

//將z的值返回,通過max帶回到調用函數的位置 } 例2.1 求1×2×3×4×5 編寫程序: #include int main(){ int i,t;t=1;i=2;while(i<=5){

t=t*i;

i=i+1;} printf(“%dn”,t);return 0;} 例2.2 有50個學生,要求將成績在80分以上的學生的學號和成績輸出。編寫程序:

例2.19 求 編寫程序: #include int main(){

int sign=1;

double deno=2.0,sum=1.0,term;

// 定義deno,sum,term為雙精度變量

while(deno<=100)

{

sign=-sign;

term=sign/deno;

sum=sum+term;

deno=deno+1;

}

printf(“%fn”,sum);

return 0;}

例3.1 有人用溫度計測量出用華氏法表示的溫度(如 F,今要求把它轉換為以攝氏法表示的溫度(如 C)。

編寫程序: #include int main(){

float f,c;

// 定義f和c為單精度浮點型變量

f=64.;

// 指定f的值

c=(5.0/9)*(f-32);

// 利用公式計算c的值

printf(“f=%fnc=%fn”,f,c);

// 輸出c的值

return 0;} 例3.2

計算存款利息。有1000元,想存一年。有三種方法可選:(1)活期,年利率為r1

(2)一年期定期,年利率為r2(3)存兩次半年定期,年利率為r3

請分別計算出一年后按三種方法所得到的本息和。編寫程序: #include int main(){

float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;

p1 = p0 *(1 + r1);

p2 = p0 *(1 + r2);

p3 = p0 *(1 + r3/2)*(1 + r3/2);

printf(“p1=%fnp2=%fnp3=%fn”,p1,p2,p3);

return 0;} 1?11111??????23499100例3.3 給定一個大寫字母,要求用小寫字母輸出。編寫程序: #include int main(){

char c1,c2;

c1='A';

// 將字符'A'的ASCII代碼放到c1變量中

c2=c1+32;

// 得到字符'a'的ASCII代碼,放在c2變量中

printf(“%cn”,c2);

// 輸出c2的值,是一個字符

printf(“%dn”,c2);

// 輸出c2的值,是字符'a'的ASCII代碼

return 0;}

例3.10 改寫例3.3程序,使之可以適用于任何大寫字母.從鍵盤輸入一個大寫字母,在顯示屏上顯示對應的小寫字母.編寫程序: #include int main(){

char c1,c2;

c1=getchar();

// 從鍵盤讀入一個字符,賦給字符變量c1

c2=c1+32;

// 得到字符'a'的ASCII代碼,放在字符變量c2中

putchar(c2);

// 輸出c2的值,是一個字符

putchar('n');

return 0;}

#include int main(){

char c1,c2;

c1=getchar();

// 從鍵盤讀入一個大寫字符,賦給字符變量c1

c2=c1+32;

// 得到對應的小寫字符的ASCII代碼,放在字符變量c2中 printf(“大寫字母:%cn小寫字母:%cn”,c1,c2);// 輸出c1,c2的值---大小寫字符

return 0;}

例3.4 給出三角形的三邊長,求三角形面積。編寫程序: #include #include int main(){

double a,b,c,s,area;

// 定義各變量,均為double型

a=3.67;

// 對邊長a賦值

b=5.43;

// 對邊長b賦值

c=6.21;

// 對邊長c賦值

s=(a+b+c)/2;

// 計算s

area=sqrt(s*(s-a)*(s-b)*(s-c));

// 計算area

printf(“a=%ftb=%ft%fn”,a,b,c);

// 輸出三邊a,b,c的值

printf(“area=%fn”,area);

// 輸出面積area的值

return 0;}

例3.5 求ax

2? bx

? c

?

0

方程的根。a、b、c由鍵盤輸入

b ac

>0 ? 4編寫程序: #include #include

// 程序中要調用求平方根函數sqrt

int main()

{double a,b,c,disc,x1,x2,p,q;

// disc是判別式sqrt(b*b-4ac)

scanf(“%lf%lf%lf”,&a,&b,&c);

// 輸入實型變量的值要用格式聲明“%f”

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

if(disc<0)printf(“This equation hav't real rootsn”);

else

{ p=-b/(2.0*a);

q=sqrt(disc)/(2.0*a);

x1=p+q;x2=p-q;

// 求出方程的兩個根

printf(“x1=%7.2fnx2=%7.2fn”,x1,x2);

// 輸出方程的兩個根

}

return 0;}

例3.6 用%f輸出實數,只能得到6位小數.編寫程序: #include int main(){double a=1.0;printf(“%fn”,a/3);return 0;} 例 3.7 float型數據的有效位數.編寫程序: #include int main(){double a;a=10000/3.0;printf(“%fn”,a);return 0;}

例3.8 先后輸出BOY三個字符。編寫程序: #include int main(){

char a='B',b='O',c='Y';

putchar(a);

putchar(b);

putchar(c);

putchar('n');

return 0;}

#include int main(){

char a,b,c;

a='B';b='O';c='Y';

putchar(a);

putchar(b);

putchar(c);

putchar('n');

return 0;}

// 定義3個字符變量,并初始化

// 向顯示器輸出字符B

// 向顯示器輸出字符O

// 向顯示器輸出字符Y

// 向顯示器輸出一個換行符

// 定義3個字符變量

// 給3個字符變量賦值

// 向顯示器輸出字符B

// 向顯示器輸出字符O

// 向顯示器輸出字符Y

// 向顯示器輸出一個換行符

例3.9 從鍵盤輸入BOY三個字符,然后把它們輸出到屏幕。編寫程序: #include int main()

{ char a,b,c;

// 定義字符變量a,b,c

a=getchar();

// 從鍵盤輸入一個字符,送給字符變量a

b=getchar();

// 從鍵盤輸入一個字符,送給字符變量b

c=getchar();

// 從鍵盤輸入一個字符,送給字符變量c

putchar(a);

// 將變量a的值輸出

putchar(b);

putchar(c);

putchar('n');

return 0;}

#include int main()

{

putchar(getchar());

putchar(getchar());

putchar(getchar());

putchar('n');

return 0;}

// 將變量a的值輸出

// 將變量a的值輸出

// 換行

// 將接收到的字符輸出

// 將接收到的字符輸出

// 將接收到的字符輸出

例4.1 在例3.5的基礎上對程序進行改進。題目要求是求?

?

c

方程的根。axbx? 02由鍵盤輸入a,b,c。假設a,b,c的值任意,并不保證

b

?

4ac

?

0

。需要在程序中進行判別,如果

b 2

ac

?

0

,就計算并輸出方程的兩個實根,? 4否則就輸出“方程無實根”的信息。

編寫程序: #include #include

// 程序中要調用求平方根函數sqrt

int main()

{double a,b,c,disc,x1,x2,p,q;

// disc是判別式sqrt(b*b-4ac)

scanf(“%lf%lf%lf”,&a,&b,&c);

// 輸入雙精度浮點型變量的值要用格式聲明“%lf”

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

if(disc<0)printf(“This equation hav't real rootsn”);

else

{ p=-b/(2.0*a);

q=sqrt(disc)/(2.0*a);

x1=p+q;x2=p-q;

// 求出方程的兩個根

printf(“real roots:nx1=%10.6fnx2=%10.6fn”,x1,x2);

// 輸出方程的兩個根

}

return 0;}

例4.2 輸入兩個實數,按代數值由小到大的順序輸出這兩個數。編寫程序: #include int main(){

float a,b,t;

scanf(“%f,%f”,&a,&b);

if(a>b)

{

t=a;

a=b;

b=t;

}

printf(“%5.2f,%5.2fn”,a,b);

return 0;}

例4.3 輸入3個數a,b,c,要求按由小到大的順序輸出。編寫程序: #include int main(){

float a,b,c,t;

scanf(“%f,%f,%f”,&a,&b,&c);

if(a>b)

{

t=a;

a=b;

b=t;

}

// 實現a和b的互換

if(a>c)

{

t=a;

a=c;

c=t;

}

// 實現a和c的互換

if(b>c)

{

t=b;

b=c;

c=t;

}

// 實現b和c的互換

printf(“%5.2f,%5.2f,%5.2fn”,a,b,c);

return 0;}

例4.4 輸入一個字符,判別它是否大寫字母,如果是,將它轉換成小寫字母;如果不是,不轉換。然后輸出最后得到的字符。編寫程序: #include int main(){

char ch;

scanf(“%c”,&ch);

ch=(ch>='A' && ch<='Z')?(ch+32): ch;

printf(“%cn”,ch);

return 0;} 例4.5有一函數: ??1(x?0)? y??0(x?0)?1(x?0)?

編一程序,輸入一個x值,要求輸出相應的y值。編寫程序: 程序1: #include int main(){

int x,y;

scanf(“%d”,&x);

if(x<0)

y=-1;

else

if(x==0)y=0;

else y=1;

printf(“x=%d,y=%dn”,x,y);

return 0;} 程序2: #include int main(){

int x,y;

scanf(“%d”,&x);

if(x>=0)

if(x>0)y=1;

else

y=0;

else

y=-1;

printf(“x=%d,y=%dn”,x,y);

return 0;}

例4.6 要求按照考試成績的等級輸出百分制分數段,A等為85分以上,B等為70~84分,C等為60~69分,D等為 60分以下。成績的等級由鍵盤輸入。編寫程序: #include int main(){

char grade;

scanf(“%c”,&grade);

printf(“Your score:”);

switch(grade)

{ default: printf(“data error!n”);break;

case 'A': printf(“85~100n”);break;

case 'B': printf(“70~84n”);break;

case 'C': printf(“60~69n”);break;

case 'D': printf(“<60n”);break;

}

return 0;}

例4.7 編寫程序,用switch語句處理菜單命令。

在許多應用程序中,用菜單對流程進行控制,例如從鍵盤輸入一個’A’或’a’字符,就會執行A操作,輸入一個’B’或’b’字符,就會執行B操作,等等。

編寫程序: #include int main(){

void action1(int,int),action2(int,int);

char ch;

int a=15,b=23;

ch=getchar();

switch(ch)

{

case 'a':

case 'A': action1(a,b);break;

case 'b':

case 'B': action2(a,b);break;

default: putchar('a');

}

return 0;}

void action1(int x,int y){

printf(“x+y=%dn”,x+y);}

void action2(int x,int y){

printf(“x*y=%dn”,x*y);}

例4.8 寫一程序,判斷某一年是否閏年。編寫程序: 程序1: 程序2: #include

#include int main()

int main(){

{

int year,leap;

int year,leap;

scanf(“%d”,&year);

scanf(“%d”,&year);

if(year%4==0)

if(year%4!=0)

{

if(year%100==0)

{

if(year%400==0)

leap=1;

else

leap=0;

}

else

leap=1;

}

else

leap=0;

if(leap)

printf(“%d is ”,year);

else

printf(“%d is not ”,year);

printf(“a leap year.n”);

return 0;

}

leap=0;

else if(year%100!=0)

leap=1;

else if(year%400!=0)

leap=0;else

leap=1;if(leap)

printf(“%d is ”,year);else

printf(“%d is not ”,year);printf(“a leap year.n”);return 0;}

#include

程序3: int main(){

int year,leap;

printf(“enter year:”);

scanf(“%d”,&year);

if((year%4==0 && year%100!=0)||(year%400==0))

leap=1;

else

leap=0;

if(leap)

printf(“%d is ”,year);

else

printf(“%d is not ”,year);

printf(“a leap year.n”);

return 0;}

程序4: #include

#include int main(){

int year;

bool leap;

scanf(“%d”,&year);

if(year%4==0)

{

if(year%100==0){

if(year%400==0)

leap=true;

else

leap=false;}

else

leap=true;

}

else

leap=false;

if(leap==true)

printf(“%d is ”,year);

else

printf(“%d is not ”,year);

printf(“a leap year.n”);

return 0;

} 例4.9 求 ax

?

?

c ?

0

方程的解。bx編寫程序: #include #include int main(){

double a,b,c,disc,x1,x2,realpart,imagpart;

scanf(“%lf,%lf,%lf”,&a,&b,&c);

printf(“The equation ”);

if(fabs(a)<=1e-6)

printf(“is not a quadraticn”);

else

{

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

if(fabs(disc)<=1e-6)

printf(“has two equal roots:%8.4fn”,-b/(2*a));

else

if(disc>1e-6)

{

x1=(-b+sqrt(disc))/(2*a);

x2=(-b-sqrt(disc))/(2*a);

printf(“has distinct real roots:%8.4f and %8.4fn”,x1,x2);

}

else

{

realpart=-b/(2*a);

imagpart=sqrt(-disc)/(2*a);

printf(“ has complex roots:n”);

printf(“%8.4f+%8.4fin”,realpart,imagpart);

printf(“%8.4f-%8.4fin”,realpart,imagpart);

}

}

return 0;}

例4.10 運輸公司對用戶計算運輸費用。路程(s km)越遠,每噸·千米運費越低。編寫程序: #include int main(){

int c,s;

float p,w,d,f;

printf(“please enter price,weight,discount:”);

// 提示輸入的數據

scanf(“%f,%f,%d”,&p,&w,&s);

// 輸入單價、重量、距離

if(s>=3000)c=12;

else

c=s/250;

switch(c)

{

case 0:

d=0;break;

case 1:

d=2;break;

case 2:

case 3:

d=5;break;

case 4:

case 5:

case 6:

case 7:

d=8;break;

case 8:

case 9:

case 10:

case 11: d=10;break;

case 12: d=15;break;

}

f = p * w * s *(1-d / 100);

printf(“freight=%10.2fn”,f);

return 0;}

// 3000km以上為同一折扣

// 3000km以下各段折扣不同,c的值不相同

// c=0,代表250km以下,折扣d=0

// c=1,代表250到500km以下,折扣d=2% // c=2和3,代表500到1000km以下,折扣d=5% // c=4-7,代表1000到2000km以下,折扣d=8% // c=8-11,代表2000到3000km以下,折扣d=10% // c12,代表3000km以上,折扣d=15% // 計算總運費

// 輸出總運費,取兩位小數

例5.1求1+2+3+?+100,即 n?1編寫程序:

#include int main(){

int i=1,sum=0;

// 定義變量i的初值為1,sum的初值為0

while(i<=100)

// 當i>100,條件表達式i<=100的值為假,不執行循環體

{

// 循環體開始

sum=sum+i;

// 第一次累加后,sum的值為1

?n100

i++;

}

printf(“sum=%dn”,sum);

return 0;}

例5.2 用do…while語句求:編寫程序:

#include int main(){ int i=1,sum=0;do

{

sum=sum+i;

i++;}while(i<=100);printf(“%dn”,sum);return 0;}

// 加完后,i的值加1,為下次累加作準備

// 循環體結束

// 輸出1+2+3?+100的累加和 1001+2+3+…+100,即 ?nn?例5.3 while和do---while循環的比較。編寫程序:

(1)用while循環 #include int main(){ int i,sum=0;printf(“please enter i,i=?”);scanf(“%d”,&i);while(i<=10)

{

sum=sum+i;

i++;};printf(“sum=%dn”,sum);return 0;}

(2)用do?while循環 #include int main(){ int i,sum=0;printf(“please enter i,i=?”);scanf(“%d”,&i);do

{

sum=sum+i;

i++;}while(i<=10);printf(“sum=%dn”,sum);return 0;}

例5.4 在全系1000學生中,征集慈善募捐,當總數達到10萬元時就結束,統計此時捐款的人數,以及平均每人捐款的數目。編寫程序:

#include #define SUM 100000 int main(){

float amount,aver,total;

int i;

for(i=1,total=0;i<=1000;i++)

{

printf(“please enter amount:”);

scanf(“%f”,&amount);

total= total+amount;

if(total>=SUM)break;

}

aver=total/i;

printf(“num=%dnaver=%10.2fn”,i,aver);

return 0;}

例5.5 要求輸出100~200之間的不能被3整除的數。編寫程序:

#include int main(){int n;for(n=100;n<=200;n++)

{if(n%3==0)

continue;

printf(“%d ”,n);

} printf(“n”);return 0;}

例5.6 輸出以下4*5的矩陣。編寫程序:

#include int main(){

int i,j,n=0;

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

for(j=1;j<=5;j++,n++){ if(n%5==0)printf(“n”);

//控制在輸出5個數據后換行

printf(“%dt”,i*j);}

printf(“n”);

return 0;} #include int main(){

int i,j,n=0;

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

for(j=1;j<=5;j++,n++){ if(n%5==0)printf(“n”);

//控制在輸出5個數據后換行

if(i==3 && j==1)break;

//遇到第3行第1列,終止內循環

printf(“%dt”,i*j);}

printf(“n”);

return 0;} #include int main(){

int i,j,n=0;

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

for(j=1;j<=5;j++,n++){ if(n%5==0)printf(“n”);

//控制在輸出5個數據后換行

if(i==3 && j==1)continue;

//遇到第3行第1列,提前結束執行本次內循環體

printf(“%dt”,i*j);}

printf(“n”);

return 0;} 111?1?????例5.7用

47公式求 ?

的近似值,直到發現某一項的絕對值小于510*6 為止(該項不累計加)。編寫程序:

#include #include int main(){

int sign=1;

// sign用來表示數值的符號

double pi=0.0,n=1.0,term=1.0;

// pi代表π,n代表分母,term代表當前項的值

while(fabs(term)>=1e-8)

// 檢查當前項term的絕對值是否大于或等于10的(-6)次方

{

pi=pi+term;

// 把當前項term累加到pi中

n=n+2;

// n+2是下一項的分母

sign=-sign;

// sign代表符號,下一項的符號與上一項符號相反

term=sign/n;

// 求出下一項的值term

}

pi=pi*4;

// 多項式的和pi乘以4,才是π的近似值

printf(“pi=%10.8fn”,pi);

// 輸出π的近似值

}

#include #include int main(){

int sign=1;

// sign用來表示數值的符號

int t=0;

// t 代表當前執行循環體的次數

double pi=0.0,n=1.0,term=1.0;// pi代表π,n代表分母,term代表當前項的值

while(fabs(term)>=1e-6)

// 檢查當前項term的絕對值是否大于或等于10的(-6)次方

{t=t+1;

// 每進入一次循環體,t的值加1

pi=pi+term;

// 把當前項term累加到pi中

n=n+2;

// n+2是下一項的分母

sign=-sign;

// sign代表符號,下一項的符號與上一項符號相反

term=sign/n;

// 求出下一項的值term

}

pi=pi*4;

// 多項式的和pi乘以4,才是π的近似值

printf(“pi=%10.6fn”,pi);

// 輸出π的近似值

}

?例5.8 求費波那西(Fibonacci)數列的前40個數。這個數列有如下特點:第1、2兩個數為1、1。從第3個數開始,該數是其前面兩個數之和。即:(n?1)?F1?1?(n?2)?F2?1 ?F?F?F(n?3)n?1n?2?n

編寫程序:

#include int main(){

int f1=1,f2=1,f3;

int i;

printf(“%12dn%12dn”,f1,f2);

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

{

f3=f1+f2;

printf(“%12dn”,f3);

f1=f2;

f2=f3;} return 0;}

#include int main(){

int f1=1,f2=1;

int i;

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

{

printf(“%12d %12d ”,f1,f2);

if(i%2==0)printf(“n”);

f1=f1+f2;

f2=f2+f1;

}

return 0;}

// 每個循環中輸出2個月的數據,故循環20次即可 // 輸出己知的兩個月的兔子數 // 計算出下一個月的兔子數,并存放在f1中 // 計算出下兩個月的兔子數,并存放在f2中

例5.9輸入一個大于3的整數n,判定它是否素數(prime,又稱質數)。編寫程序:

#include int main(){int n,i;

printf(“please enter a integer number,n=?”);

scanf(“%d”,&n);

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

if(n%i==0)break;

if(i

else printf(“%d is a prime number.n”,n);

return 0;} #include #include int main(){int n,i,k;

printf(“please enter a integer number:n=?”);

scanf(“%d”,&n);

k=sqrt(n);

for(i=2;i<=k;i++)

if(n%i==0)break;

if(i<=k)printf(“%d is not a prime number.n”,n);

else printf(“%d is a prime number.n”,n);

return 0;} 例5.10 求100~200間的全部素數。編寫程序:

# include # include int main(){int n,k,i,m=0;

for(n=101;n<=200;n=n+2)

// n從100變化到200,對每個n進行判定

{ k=sqrt(n);

for(i=2;i<=k;i++)

if(n%i==0)break;

// 如果n被i整除,終止內循環,此時i

if(i>=k+1)

// 若j>=k+1,表示n未被整除

{printf(“%d ”,n);

// 應確定n是素數

m=m+1;

// m用來控制換行,一行內輸出10個錄素數

}

if(m%10==0)printf(“n”);

// m累計到10的倍數,換行

}

printf(“n”);

return 0;

} 例5.11 譯密碼。為使電文保密,往往按一定規律將其轉換成密碼,收報人再按約定的規律將其譯回原文。

A B C D E F G …… W X Y Z

編寫程序:

#include int main(){char c;

c=getchar();

// 輸入一個字符給字符變量c

while(c!='n')

// 檢查c的值是否換行符'n'

{if((c>='a' && c<='z')||(c>='A' && c<='Z'))

// c如果是字母

{ if(c>='W' && c<='Z' || c>='w' && c<='z')c=c-22;

// 如果是26個字母中最后4個字母之一

else c=c+4;

// 如果是前面22個字母之一,就使c加4,即變成其后第4個字母

}

printf(“%c”,c);

// 輸出己改變的字符

c=getchar();

// 再輸入下一個字符給字符變量c

}

printf(“n”);

return 0;}

#include int main(){char c;

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

// 輸入一個字符給字符變量c并檢查它c的值是否換行符

{if((c>='A' && c<='Z')||(c>='a' && c<='z'))

// c如果是字母

{ c=c+4;

// 只要是字母,都先加4

if(c>='Z' && c<='Z'+4 || c>'z')

// 如果是26個字母中最后4個字母之一

c=c-26;

// c的值改變為26個字母中最前面的4個字母中對應的字母

}

printf(“%c”,c);

// 輸出己改變的字符

}

printf(“n”);

return 0;}

例6.1 對10個數組元素依次賦值為0,1, 2,3,4,5,6,7,8,9,要求按逆序輸出。編寫程序:

#include int main(){

int i,a[10];

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

a[i]=i;

for(i=9;i>=0;i--)

printf(“%d ”,a[i]);

printf(“n”);

return 0;}

例6.2 用數組處理求Fibonacci數列問題 編寫程序:

#include int main(){

int i;

int f[20]={1,1};

for(i=2;i<20;i++)

f[i]=f[i-2]+f[i-1];

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

{

if(i%5==0)printf(“n”);

printf(“%12d”,f[i]);

}

printf(“n”);

return 0;}

例6.3 有10個地區的面積,要求對它們按由小到大的順序排列。編寫程序:

#include int main(){

int a[10];

int i,j,t;

printf(“input 10 numbers :n”);

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

scanf(“%d”,&a[i]);

printf(“n”);

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

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

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

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

printf(“the sorted numbers :n”);

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

printf(“%d ”,a[i]);

printf(“n”);

return 0;}

// 進行9次循環,實現9趟比較// 在每一趟中進行9-j次比較

// 相鄰兩個數比較

例6.4 將一個二維數組行和列的元素互換,存到另一個二維數組中。

?14??123?a????456?

編寫程序:

#include int main(){

int a[2][3]={{1,2,3},{4,5,6}};

int b[3][2],i,j;

printf(“array a:n”);

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

{

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

{

printf(“%5d”,a[i][j]);

b[j][i]=a[i][j];

}

printf(“n”);

}

printf(“array b:n”);

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

{

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

printf(“%5d”,b[i][j]);

printf(“n”);

}

return 0;}

?b??25????36??例6.5 有一個3×4的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。編寫程序:

#include int main(){int i,j,row=0,colum=0,max;

int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};

// 定義數組并賦初值

max=a[0][0];

// 先認為a[0][0]最大

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

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

if(a[i][j]>max)

// 如果某元素大于max,就取代max的原值

{max=a[i][j];

row=i;

// 記下此元素的行號

colum=j;

// 記下此元素的列號

}

printf(“max=%dnrow=%dncolum=%dn”,max,row,colum);

return 0;}

例6.6 輸出一個已知的字符串。編寫程序:

#include int main(){char c[15]={'I',' ','a','m',' ','a',' ','s','t','u','d','e','n','t','.'};

int i;

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

printf(“%c”,c[i]);

printf(“n”);

return 0;}

例6.7 輸出一個菱形圖。編寫程序:

#include int main(){char diamond[][5]={{' ',' ','*'},{' ','*',' ','*'},{'*',' ',' ',' ','*'},{' ','*',' ','*'},{' ',' ','*'}};

int i,j;

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

{for(j=0;j<5;j++)

printf(“%c”,diamond[i][j]);

printf(“n”);

}

return 0;} 例6.8 輸入一行字符,統計其中有多少個單詞,單詞之間用空格分隔開。編寫程序:

#include int main()

{

char string[81];

int i,num=0,word=0;

char c;

gets(string);

// 輸入一個字符串給字符數組string

for(i=0;(c=string[i])!='

主站蜘蛛池模板: 亚洲成av人片在线观看无下载| 久久久久亚洲精品无码系列| 亚洲欧美一区二区三区日产| 3344永久在线观看视频| 青青草原综合久久大伊人精品| 亚洲国产老鸭窝一区二区三区| 一本色道无码不卡在线观看| 无码人妻aⅴ一区 二区 三区| 免费裸体无遮挡黄网站免费看| 欧美黑人又粗又大xxx| 国产午夜伦鲁鲁| 亚洲综合av在线在线播放| 黑人上司好猛我好爽中文字幕| 2020精品国产福利在线观看香蕉| 裸体美女无遮挡免费网站| 在线亚洲精品国产二区图片欧美| 天天做天天爱天天做天天吃中| 色综合色狠狠天天综合色| 国产av成人无码精品网站| 99久久久国产精品免费蜜臀| 日本一二免费不卡区| 亚洲女人被黑人巨大进入| 亚洲熟妇中文字幕曰产无码| 久久精品无码中文字幕| 中文字幕aⅴ人妻一区二区| 青青青在线香蕉国产精品| 亚洲成av人片在线观高清| 国色天香社区在线视频| 国产精品玖玖玖在线资源| 狠狠色噜噜狠狠狠8888米奇| 欲香欲色天天天综合和网| 无码精品日韩专区| 亚洲精品乱码8久久久久久日本| 国产激情免费视频在线观看| 男女性爽大片在线观看| 女性女同性aⅴ免费观女性恋| 亚洲国产成人精品无码区在线| 亚洲国产另类久久久精品网站| 欧美男男大粗吊1069| 亚洲一区二区三区国产精华液| 成人无码视频在线观看大全|