C語言上機練習題_第1頁
C語言上機練習題_第2頁
C語言上機練習題_第3頁
C語言上機練習題_第4頁
C語言上機練習題_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

上機練習題

文件管理序列號:[K8UY-K9IO69-O6M243-OL889-F88688]

1.輸入一個不超過五位的正gw=n%10;

整數(shù),輸出其逆數(shù)。例如printf(,zThe

輸入12345,輸出應為oldnumberis:%ld\n”,n);

54321oprintf(z,Thenew

#include“stdio.h〃number

main()is:%d%d%d%d\n/z,gw,sw,bw,q

(w);

longn;}

intww,qw,bw,sw,gw;else

printf("Pleaseif(n>=100&&n<=999)

input:\n〃);{

scanf(〃%lcT,&n);bw=n/100;

while(n<=0||n>99999)sw=n/10%10;

(gw=n%10;

printf(/z\nTheprintf("The

numberistoolittleoroldnumberis:%ld\n”,n);

toolarge.Retryprintf("Thenew

please!\n,z);number

is:%d%d%d\n,z,gw,sw,bw);

scanf(,z%ld,z,&n);}

)else

if(n>二10000&&n<=99999)if(n>=10&&n<=99)

((

w=n/10000;sw=n/10;

qw=n/1000%10:gw=n%10;

bw=n/100%10;

sw=n/10%10;printf(/zTheold

gw=n%10;numberis:%ld\n〃,n);

printf(,zTheold

numberis:%ld\n〃,n);printf(,zThenew

printf(Z/Thenewnumberis:%d%d\n,z,gw,sw);

number}

is:%d%d%d%d%d\nz,,gw,sw,bwelse

,qw,w);printf(z,Theoldnumber

}equalsthenew

elsenumber:%ldz,,n);

if(n>=1000&&n<=9999))

(2.計算1+2+3…+n的值,n

qw=n/1000;是從鍵盤輸入的自然數(shù)。

bw=n/100%10;/*Note:YourchoiceisC

sw=n/10%10;TOE*/

#include“stdio.h〃}

main()printf("count二%d,su

(m=%d/z,count,sum);

intn,i;)

longsum=0;4.從終端(鍵盤)將5個整

數(shù)輸入到數(shù)組a中,然后

printf("1+2+3+....+n\n〃);將a逆序復制到數(shù)組b

printf(/zPleaseinput中,并輸出b中各元素的

n:\n〃);值。

scanf&n);/*Note:YourchoiceisC

for(i=l;i<=n;i++)IDE*/

{#include“stdio.h〃

sum+=i;ttdefineN5

)main()

{inta[N],b[N],i;

printf("sum二機d〃,sum);printf("Please

}inputnumbers:\n");

3.從終端(鍵盤)讀入20for(i=0;i<N;i++)

個數(shù)據(jù)到數(shù)組中,統(tǒng)計其(

中正數(shù)的個數(shù),并計算這scanf;

些正數(shù)之和。、b[N-i-l]=a[i];

/*Note:YourchoiceisC}

IDE*/printf(/z\nTheold

#include"stdio.h〃numbersare:\n'z);

^defineN20for(i=0;i<N;i++)

main()printf(〃%一

{4d〃,a[i]);

intprintf(/z\nThenew

a[N],i,sum=0,count=0;numbersare:\n〃);

printf(〃P1easefor(i=0;i<N;i++)

inputnumbers:\n〃);printf(,z%-

for(i=0;i<N;i++)4d〃,b[i]);

()

scanf&a[i]);5.要將五張100元的大鈔

票,—換成等|直的50元,

if(a[i]>0)20元,10元,5元一張

(的小鈔票,每種面值至少

sum+=a[i];1張,編程輸出所有可能

的換法,程序應適當考慮

count++;減少重復次數(shù)。

}

/*Note:YourchoiceisC

IDE*/scanf&n);

#include“stdio.h〃}

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

{inti,j,k,n;if(i%3==0&&i%7==0)

for(i=l;i<=10;i++)sum+=i;

printf(,zThenumber

for(j=l;j<=25;j++)is:%4.2f〃,sqrt(sum));

)

for(k=l;k<=50;k++)7.一輛卡車違反交通規(guī)則,

撞人后逃跑?,F(xiàn)場有三人

for(n=l;n<=100;n++)目擊事件,但都沒有記住

車號,只記下車號的一些

if(i*50+j*20+k*10+n特征。甲說:牌照的前兩

*5=500)位數(shù)字是相同的;乙說:

printf(〃num50=%d,nu牌照的后兩位數(shù)字是相同

m20=%d,numl0=%d,num5=%d\n的,但與前兩位小同;內(nèi)

〃,i,j,k,n);是數(shù)學家,他說:四位的

}車號剛好是一個整數(shù)的平

6.求n以內(nèi)(不包括n)同方。請根據(jù)以上線索找出

時能被3和7整除的所有車號。

自然數(shù)之和的平方根s,/*Note:YourchoiceisC

n從鍵盤輸入。例如若nIDE*/

為1000時,函數(shù)值應#include"stdio.h〃

為:s=153.909064c^include"math.h〃

/*Note:YourchoiceisCmain()

IDE*/(

#include“stdio.h〃inti,qw,bw,sw,gw;

#include"math.h〃

main()for(i=1122;i<=9988;i++)

{intn,s,i;(

floatsum=0;if(sqrt(i)!=(int)sq

printf("Pleasert(i))

inputn:\n,z);continue;

scanf&n);qw=i/1000;

while(n<=0)bw=i/100%10;

sw=i/10%10;

gw=i%10;

printf(z,\nError

input.Retryplease:\n〃);if(qw==bw&&sw==gw)

case

printf(〃\nThe7:printf("Seven!〃);break;

numberis:%d\n〃,i);case

8:printf("Eight!〃);break;

break;case

)9:printf("Nine!");break;

case

}10:printf("Ten!");break;

8,輸入廣10之間的一個數(shù)}

字,輸出它對應的英文單)

詞。9.個位數(shù)為6且能被3整除

/*Note:YourchoiceisC但不能被5整除的三位自

IDE*/然數(shù)共有多少個,分別是

#include“stdio.h〃哪些?

main()/*Note:YourchoiceisC

(IDE*/

intn;#include"stdio.h〃

printf(〃P1easemain()

inputn:\n〃);(

scanf&n);inti,count=0;

while(n<l|n>10)

(for(i=106;i<596;i=i+10)

printf(Z/Error(

input!Retryplease:\n〃);if(i%3==0&&i%5!=0)

scanf&n);

}printfr%-4d,z,i);

switch(n)count++;

()

case}

1:printf(〃0ne!〃);break;printf(z,count=%-

case4d〃,count);

2:printf("Two!〃);break;)

caseio.用自然語言描述程序邏輯

3:printf("Three!〃);break;如下,試寫程序。

case①設置環(huán)境;

4:printf("Four!");break;②定義變量i、

casej、S,以及用于放置結(jié)果的

5:printf("Five!");break;變量sum,并令sum初值為

case0;

6:printf("Six!〃);break;③i二l:

④如果i<100,則轉(zhuǎn)⑤;

則轉(zhuǎn)⑤,否則轉(zhuǎn)⑧;⑤回答三次口令

⑤令s=0,求前i了嗎?如果沒有,計數(shù)器加

個自然數(shù)之和,并放于變量1后(i++),轉(zhuǎn)③,否則轉(zhuǎn)

s之中;?;

⑥sum=sum+s;@根據(jù)flag之值輸出

⑦i增加1,轉(zhuǎn)相應信息。

④;/*Note:Yourchoice

⑧輸出和sum,結(jié)束。isCIDE*/

/*Note:Yourchoicettinclude〃stdio.h〃

isCIDE*/#include"string.h〃

ttinclude〃stdio.h〃ttdefineN6

niainOmain()

{{

inti,j;inti=0,flag=0;

longs=0,stm=0;charpassword[N];

printf("The

printf(^1+1+2+1+2+3+1password

+2+3+4+....1+2+3+..+nis:123456\n〃);

\n〃);while(i<3)

i=l;{

while(i<=3)

{gets(password);

s+=i;

SUII1+=S;if(strlen(password)

i++;!=6)

}{

printf("Thestring

printf(,zsum=%ld/z,sum);lengthiswrong!Retry

}please!\n,z);

11.用自然語言描述的程序邏

輯為:i++;

①設置環(huán)境;

②定義變量i、continue;

flag和password,并令}

flag=0,i=0;

z,,,

③用戶回答口if(strcmp(123456,

令,將其賦于password變password)==0)

量;

④口令正確?如{flag=l;break;)

果是,則flag=l,轉(zhuǎn)⑥°否else

{printf("Wrongscanf(〃%ld〃,&x);

input!Retrydigit=x%10;

please!\n,z);i++;}y=digit;

while(x!=0)

)(

if(flag==l)x=x/10;

printffRightdigit=x%10;

z,

password!\n);y=y*10+digit;

else}

z,

printf(Wrongprintf(,zx=%ld,y二%Id

password!\n/z);",x,y/10);

}}

12.用自然語言描述的程序邏13.輸入某三角形的三個邊的

輯如下:長度,判斷出這是個什么

①設置環(huán)境;三角形(等腰、等邊、任

②定義變量意,或不能構(gòu)成)。

digit、x、y分別表示原始/*Note:YourchoiceisC

數(shù)、原始數(shù)的個位數(shù)和逆IDE*/

數(shù);#include〃stdio.h"

③輸入原始正整main()

數(shù)X;(

④從X中分解出float

個位數(shù)字digit;a,b,c,flag;/*flag=0不

⑤合并個位digit能,flag=l等邊,flag=2等

至逆數(shù)y中;腰,flag=3任意*/

⑥原始數(shù)x縮小printf(''Pleaseinput

10倍:x=x/10;angles:\nz/);

⑦如果x非零,

則轉(zhuǎn)④;scanf(〃%f,%f,%f”,&a,&b,&c

⑦輸出逆數(shù)y,結(jié)束);

/*Note:Yourchoice

isCIDE*/if(a+b<=c||a+c<=b||b+c<=a)

#include〃stdic.h〃flag-0;

mainOelseif(a==b&&b==c)

{flag=l;

longdigit,x,y;/*else

個位數(shù)、原始數(shù)、逆數(shù)if(a==b|b==c||c==a)

*/flag=2;

printf("Pleaseelse

inputtheoldflag=3;

number:\n,z);

if(flag==O)同時是3、5、7倍數(shù)的

printf(z,\nCannot!\n〃);數(shù)。(設N為100)

if(flag==l)/*Note:YourchoiceisC

printf(/z\nDengBian.\n〃);IDE*/

if(flag==2)tfinclude〃stdio.h"

printf(z,\nDengYao.\n〃);#defineN100

if(flag==3)#include<time.h>

printf(/z\nPutong.\n〃);^include<stdlib.h>

)main()

14.輸入10個數(shù),分別統(tǒng)計(

其中正數(shù)、負數(shù)、零的個inta[N],i;

數(shù)。printf(Z/Please

#include"stdio.h〃inputnumbers:\n〃);

tfdefineN10randomize();

main()for(i=0;i<N;i++)

{inta[N];(

inta[i]=random(900)+10

i,countl=0,count2=0,count0;

3=0;Acount1記錄正數(shù)個printf(〃%-4d〃,a[i]);

數(shù),count2記錄負數(shù)個數(shù),)

count3記錄0的個數(shù)*/printf(,z\n--------------

printf("Please---------\n〃);

inputnumbers:\nz/);printf(〃\n3,5,7:\n〃);

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

(

if(a[i]%3==0&&a[i]%

scanf(〃%d〃,&a[i]);5==0&&a[i]%7==0)

if(a[i]>0)printf(〃%一

count1++;4d〃,a[i]);

if(a[i]<0))

count.2++;16.用for編程找出100^200

if(a[i]==0)中的完全平方數(shù)。

count3++;#include〃stdio.h〃

}#include"math.h〃

printf(/zcountl=%-main()

4d,count2=%-4d,count3=%-(

4d〃,countl,count2,count3);inti;

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

15.先隨機產(chǎn)生N個三位自然if(sqrt(i)==i%100)

數(shù)輸出,然后再輸出其中printf

4d〃,i);

^include"stdio.h〃

17.從終端輸入三個正實數(shù),#defineN10

判斷這三個數(shù)能否構(gòu)成直tfinclude"stdlib.h〃

角三角形。#include〃ctype.h〃

#include“stdio.h〃tfinclude"string.h〃

main()main()

({

floatcharc[N];

a,b,c,flag;/*flag=O不inti,count=0;

能,flag=l能*/gets(c);

printf(Z/Pleaseinputi=0;

angles:\nz,);while(i!=strlen(c))

(

scanfC%f,%f,%f〃,&a,&b,&c

);if(isupper(c[i])||i

slower(c[i]))

while(a<=0||b<=0||c<=0)count++;

{printf(,zWrongi++;

input!Retryplease:\nz/);}

printf("count二%一

scanf("%d,%d,%d〃,&a4d”,count);

,&b,&c);getchO;

))

19.輸入一個字串,判斷它是

if(a+b<=c||b+c<=ai|a+c<=b)否是對稱串。如“

flag=0;abcdcba”是對稱

else串,”“不是。

if(a*a~b*b+c*c||b*b==a*a/*Note:YourchoiceisC

+c*c||c*c=a*a+b*b)IDE*/

flag=l;#include"stdio.h〃

elseflag=0;#include"string.h〃

if(flag==l)#include"ctype.h〃

printf(z?\nCan!z,);#include"stdlib.h〃

elseprintf('\nCanttdefineN10

not!〃);main()

){chara[N],b[N],i;

18.輸入一行字符,統(tǒng)計其中printf(z,Please

有多少個字母(包括大寫inputthestring:\n//);

字母和小寫字母)。gets(a);

/*Note:YourchoiceisCif(strlen(a)>N)

IDE*/

找出三位自然數(shù)中的所有

printf("Wrong素數(shù),要求判斷x素數(shù)用自

input!Retryplease!\n〃);定義函數(shù)data(x)實現(xiàn)?

gets(a);#include〃stdio.1:〃

)intdata(intx);

strcpy(b,a);main()

strrev(a);(

if(strcmp(a,b)==0)inti,flag=0;/*l是,0

否*/

printf(〃\nYes!\n〃);

elsefor(i=101;i<=999;i++)

printf("\nNo!\n〃);(

}flag=data(i);

20.隨機產(chǎn)生N個大寫字母輸if(flag==l)

出,然后統(tǒng)計其中共有多printf(,z%-4d,z,i);

少個元音字符。:設N為

200)

/*Note:Yourchoiceisintdata(intx)

CIDE*/(

#include〃stdio.h〃inti;

#include<stdlib.h>for(i=2;i<x/2;i++)

#include<time.h>if(x%i==0)

#defineN200return0;

main()if(i==x/2)

(return1;

intc[N],i,count=0;elsereturn0;

randomize();)

for(i=0;i<N;i++)21.輸出n行由組成的

(矩形,每行“y的個數(shù)

c[i]=random(27)+65;為m個,其中n、m由終

printfCc[i]);端(鍵盤)輸入。要求輸

if(c[i]==,A>||c[i]==,E出m個“功能由函數(shù)

satr(m)函數(shù)實現(xiàn)。

c[ixir)#include〃stdio.h〃

count++;voidsatr(intm);

}main()

printf(〃\n--------------{inti,n,m;

------------\n〃);printf("Please

printf(,z\ncount=%-inputn&m:\n〃);

4d〃,count);printf(〃n=〃);

scanf("%d",&n);

printf(〃m=〃);x2=xl;

scanf&m);

printf(〃\n-------------printfCx=%-

——\n〃);4.2f〃,xl);

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

(if(derta>0)

satr(m);(

printf(〃\n〃);printf("Two!\n");

)xl=(-

}b+sqrt(derta))/(2*a);

voidsatr(intm)x2=(-b-

{inti;sqrt(derta))/(2*a);

for(i=l;i<=m;i++)printfrxl=%-

printfm;4.2f,x2二%-4.2f〃,xl,x2);

}

22.若ax2+bx+c=0有實根,

則求之。23.從鍵盤輸入兩個字串,判

#include"stdio.h〃斷它們是否相同。

#include"math.h〃#include"stdio.h"

main()#include"string.h〃

{^defineN20

inta,b,c;main()

floatderta,xl,x2;(

printfC'Pleaseinputcharcl[N],c2[N];

a,b,c:\n〃);printf("Please

printf(〃a=〃);inputtwostring

scanf&a);below:\n/z);

printf(〃b=〃);gets(cl);

gets(c2);

scanf&b);printf(〃-------------

printf(〃c=〃):----------\n〃);

scanf(〃%d〃,&c);printf(,zTheanswer

?八

dcrta-b*b-4*a*c;IS:);

if(derta<0)if(strcmp(cl,c2)==0)

printf("Equal!\n〃);

printf(〃N0!\n〃);elseprintf("Not

if(derta==0)equal!\n〃);

()

printf("One!'n");24.從鍵盤輸入兩個字串,輸

xl=-出其中較短的那個字串,

b/(2*a);并輸出它的長度C

#defineN20^include〃stdio.h〃

#include〃stdio.h〃#include"string.h〃

#include“string.h〃ttdefineN20

main()main()

({charcl[N],c2[N];

charcl[N],c2[N];printfC'Pleaseinputtwo

printf("Pleasestringbelow:\n〃);

inputtwostringgets(cl);

below:\n〃);gets(c2);

gets(cl);while(strlen(cl)==strlen(

gets(c2);c2))

printfC----

溫馨提示

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

評論

0/150

提交評論