簡(jiǎn)單c語言編程練習(xí)題_第1頁
簡(jiǎn)單c語言編程練習(xí)題_第2頁
簡(jiǎn)單c語言編程練習(xí)題_第3頁
簡(jiǎn)單c語言編程練習(xí)題_第4頁
簡(jiǎn)單c語言編程練習(xí)題_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

簡(jiǎn)單C語言編程練習(xí)題

精品文檔

簡(jiǎn)單C語言編程練習(xí)題

ttinclude

intmain

(

printf;

)

2、求兩個(gè)整數(shù)之和

#include

voidmain

(

inta,b,sum;a=123;b=456;sum=a+b;return0;

printf;

}

3、求兩個(gè)整數(shù)中的較大者

#include

voidmain

(

intmax;

inta,b,c;

scanf;c=max;

printf;

1/26

精品文檔

intmax

(

intz;ifz=x;elsez=y;return;

)

4、編寫一個(gè)程序,輸入a,b,c三個(gè)值,輸出其中最

大者

#include

voidmain

{inta,b,c,max;

printf;

scanf;

max二a;

if

max二b;

if

max=c;

printf;

)

5、求5?

#include

voidmain

{intt=l,i=2;

2/26

精品文檔

while

{t=t*i;

i=i+l;

)

printf;

)

6、求多項(xiàng)式1-1/2+1/3-1/4+''''+1/99-1/100的值

#include

voidmain

(

intsign=1;

doubledeno=2.0,sum=1.0,term;

while

(

sign=-sign;term=sign/deno;

sum=sum+term;deno=deno+1;

)

printf;

)

7、將華氏溫度64?F轉(zhuǎn)換為攝氏度

#include

3/26

精品文檔

voidmain

(

floatf,c;

f=64.0;

c二*;

printf;

8、1000元存一年:活期,年利率為rl;一年期頂起,年利率r2;存兩次半年定

期,年利率為r3.分別計(jì)算3種方法本息和

ttinclude

voidmain

(

float

p0=1000,rl=0.0036,r2=0.0225,r3=0.0193,pl,p2,p3;

pl=p0*;

p2=p0*;

p3=p0**;

printf;

)

9、給定一個(gè)大寫字母A,輸出其小寫字母

ttinclude

voidmain

4/26

精品文檔

(

charcl,c2;

cl='A';c2=cl+32;

printf;

printf;

}

10、給出三角形三邊長(zhǎng),求面積

#include

#include

intmain

(

}doublea,b,c,s,area;a=3.67;b=5.43;c=6.21;

s=/2;area=sqrt**);printf;printf;

11、輸入一個(gè)double類型的數(shù),使該數(shù)保留小數(shù)點(diǎn)后兩位,對(duì)第三位小數(shù)進(jìn)

行四舍五入后處理,然后輸出此數(shù),以便驗(yàn)證處理是否正確。

#include

voidmain

}

12、編程從鍵盤輸入兩個(gè)整數(shù)給變量x和y,然后輸出x和y的值,最后交換

x和y的值并輸出。

ttinclude

5/26

精品文檔

voidmain

(

intx,y,t;printf;scanf;printf;t=x;x=y;y=t;

doublex;printf;scanf;printfx二%f\n”,x);x=x*100+0.5;x=x;

x=x/100;printfx二%f\n",x);

printf;

)

13、從鍵盤輸入兩個(gè)兩位的正整數(shù)給變量x和y,并將x和y合并形成一個(gè)整

數(shù)放在變量z中。合并的方式是:將數(shù)x的十位和各位依次放在z的千位和十位,

將y的十位和個(gè)位放在z的個(gè)位和百位上。

ttinclude

voidmain

(

)

14、輸入3個(gè)整數(shù),分別放入在變量a,b,c中,程序把輸入的數(shù)據(jù)重新按由

從小到大的順序放在變量a,b,c中,最后輸出a,b,c中的值

#include

voidmain

{intx,y,z;printf;scanf;x=x%100;y=y%100;

z=*1000+*10+y/10+*100;printf;

6/26

精品文檔

}printf;scanf;printf;if{t=a;a二b;b=t;}if{t=a;a=c;c=t;}if

{t=b;b=c;c=t;}printf;

15、根據(jù)輸入的學(xué)生成績(jī),給出相應(yīng)的等級(jí),90分

以上的等級(jí)為A,60以下為E,其余每10分一個(gè)等級(jí)。

ttinclude

voidmain

(

intg;

)

ttinclude

voidmain

(

intg;printf;scanf;printf;switch{case:printf;break;case:

printf;break;case:printf;break;case:printf;break;default:printf;

printf;scanf;printf;ifprintf;elseifprintf;elseifprintf;else

ifprintf;elseprintf;

題目:1.編寫一個(gè)程序,要求輸入一個(gè)ASCII碼值,

然后輸出相應(yīng)的字符。

#include

ttinclude

main

7/26

精品文檔

inti,j;

charc;

printf;

scanf;

while

(

if&&)

(

printf;

c=toascii;

printf;

printf;

scanf;

}

else

(

printf;

break;

)

)

return0;

8/26

精品文檔

}

2.功能描述:編寫函數(shù),實(shí)現(xiàn)對(duì)10個(gè)整數(shù)按由小到達(dá)排序,在主函數(shù)中調(diào)用此

函數(shù)。*要求:完成至少3個(gè)函數(shù)分別實(shí)現(xiàn)插入排序、選擇排序、冒泡排序

#include

#defineM10

voidinsert;

voidchoice;

voidBubbleSort;

voidprint;

voidmain

(

inta[M],i;

printf;

for

(

scanf;

)

printf;

for

(

printf;

}

9/26

精品文檔

printf;

insert;〃插入排序

print;

printf;

for

(

scanf;

)

printf;

for

(

printf;

)

printf;

choice;〃選擇排序

print;

printf;

for

(

scanf;

)

printf;

10/26

精品文檔

for

printf;

)

printf;

BubbleSort;〃冒泡排序

print;

)

voidinsert〃插入排序

inti,j,k,temp;

for

(

for

(

if

(

temp=a[j];

a[j]=a[j-l];

a[j-l]=temp;

)

else

11/26

精品文檔

break;

)

)

)

voidchoice〃選擇排序

(

inti,j,temp=0,t=0;

for

(

t=i;

for

(

if

(

t=j;

}

)

temp=a[i];

a[i]=a[t];

a[t]=temp;

12/26

精品文檔

voidBubbleSort

inti,j,temp;

for

{

for

(

if

(

temp=a[j];

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

a[j+l]=temp;

}

}

}

}

voidprint

(

inti;

printf;

13/26

精品文檔

for

printf;

printf;

)

3.已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域和指

針域。

請(qǐng)編寫函數(shù)實(shí)現(xiàn)如圖所示鏈表逆置。

要求:不開辟任何額外的鏈表結(jié)點(diǎn)空間,實(shí)現(xiàn)鏈表的就地逆置

考察:對(duì)鏈表結(jié)構(gòu)的基本操作

#include

#include

#include

ttinclude

#defineLENsizeof

structsth

(

chara[20];

structsth*next;

);

14/26

精品文檔

structsth*creat;

structsth"exchange;voidprint;voidfreel;

voidmain

structsth*head;

printf;head=creat;

printf;print;

exchange;

printf;print;

freel;

)

structsth*creat

(

structsth*head=NULL;structsth*pl,*p2;

charinput[10]={'\0'};

//pl=p=malloc;

題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù),

都是多少,

1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成所有的排

列后再去

掉不滿足條件的排列。

15/26

精品文檔

2.程序源代碼:

ttinclude"stdio.h"

#includeuconio.hn

main

inti,j,k;

printf;

for/*以下為三重循環(huán)*/

for

for

if/*確保i、j、k三位互不相同*/

printf;

getch;

題目:企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)提成。利潤(rùn)低于或等于10萬元時(shí),獎(jiǎng)金可提

10%;利潤(rùn)高于10萬元,低于20

16/26

精品文檔

萬元時(shí),低于10萬元的部分按10%提成,高于10萬元的部分,可可提成

7.5%;20萬到40萬之間時(shí),高于20萬元的部分,可提成5%;40萬到60萬之間時(shí)

高于0萬元的部分,可提成3%;60萬到100萬之間時(shí),高于60萬元的部分,可提

成1.5%,高于100萬元時(shí),超過100萬元的部分按現(xiàn)提成,從鍵盤輸入當(dāng)月利潤(rùn)

I,求應(yīng)發(fā)放獎(jiǎng)金總數(shù),

1.程序分析:請(qǐng)利用數(shù)軸來分界,定位。注意定義時(shí)需把獎(jiǎng)金定義成長(zhǎng)整型。

2.程序源代碼:

#include“stdio.h"

#include"conio.h"

main

(

longinti;

intbonus1,bonus2,bonus4,bonus6,bonuslO,bonus;

scanf;

bonusl=100000*0.1;

bonus2=bonus1+100000*0.75;

bonus4=bonus2+200000*0.5;

bonus6=bonus4+200000*0.3;

bonus10=bonus6+400000*0.15;

if

17/26

精品文檔

bonus=i*0.1;

elseif

bonus=bonusl+*0.075;

elseif

bonus二bonus2+*0.05;

elseif

bonus=bonus4+*0.03;

elseif

bonus=bonus6+*0.015;

else

bonus二bonus10+*0.01;

printf;

getch;

題目:一個(gè)整數(shù),它加上100后是一個(gè)完全平方數(shù),再加上168又是一個(gè)完全

平方數(shù),請(qǐng)問該數(shù)是多少,

1.程序分析:在10萬以內(nèi)判斷,先將該數(shù)加上100后再開方,再將該數(shù)加上

268后再開方,如果開方后的結(jié)

18/26

精品文檔

果滿足如下條件,即是結(jié)果。請(qǐng)看具體分析:

2.程序源代碼:

#include“math,h”

#include"stdio.h"

ttinclude“conio.h"

main

(

longinti,x,y,z;

for

x=sqrt;/*x為加上100后開方后的結(jié)果*/

y=sqrt;/*y為再加上168后開方后的結(jié)果*/

if/*如果一個(gè)數(shù)的平方根的平方等于該數(shù),這說明此數(shù)是完全平方數(shù)*/

printf;

)

getch;

}

19/26

精品文檔

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

1.程序分析:以3月5日為例,應(yīng)該先把前兩個(gè)月的加起來,然后再加上5天

即本年的第幾天,特殊情況,閏年且輸入月份大于3時(shí)需考慮多加一天。

2.程序源代碼:

Sinclude"stdio.h"

ttincludewconio.h"

main

(

intday,month,year,sum,leap;

printf;

scanf;

switch/*先計(jì)算某月以前月份的總天數(shù)*/

case1:sum=O;break;

case:sum=31;break;

case:sum=59;break;

case:sum=90;break;

case:sum=120;break;

case:sum=151;break;

case:sum=181;break;

20/26

精品文檔

case:sum=212;break;

case:sum=243;break;

case10:sum=273;break;

case11:sum=304;break;

case12:sum=334;break;

default:printf;break;

)

sum=sus+day;/*再加上某天的天數(shù)*/

if)/*判斷是不是閏年*/

leap=l;

else

leap=0;

if/*如果是閏年且月份大于2,總天數(shù)應(yīng)該加一天*/

suni++;

printf;

getch;

}

題目:輸入三個(gè)整數(shù)x,y,z,請(qǐng)把這三個(gè)數(shù)由小到大

21/26

精品文檔

輸出。

1.程序分析:我們想辦法把最小的數(shù)放到x上,先將x與y進(jìn)行比較,如果x>y

則將x與y的值進(jìn)行交

換,

然后再用x與z進(jìn)行比較,如果x>z貝IJWx與z的值

進(jìn)行交換,這樣能使x最小。

2.程序源代碼:

^include"stdio.h"

#include"conio.h"

main

(

intx,y,z,t;

scanf;

if

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

if

{t=Z;Z=X;X=t;}/*交換X,z的值*/

if

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

printf;

getch;

)

22/26

精品文檔

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

溫馨提示

  • 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. 人人文庫(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)論