浙江大學(xué)C語(yǔ)言期末上機(jī)考試題_第1頁(yè)
浙江大學(xué)C語(yǔ)言期末上機(jī)考試題_第2頁(yè)
浙江大學(xué)C語(yǔ)言期末上機(jī)考試題_第3頁(yè)
浙江大學(xué)C語(yǔ)言期末上機(jī)考試題_第4頁(yè)
浙江大學(xué)C語(yǔ)言期末上機(jī)考試題_第5頁(yè)
已閱讀5頁(yè),還剩80頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

上機(jī)考試練習(xí)題

20021程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入x,計(jì)算并輸出下列分段函數(shù)f(x)的值(保留1位小數(shù))。

當(dāng)x不等于0時(shí),y=f(x)=1/x,當(dāng)x等于0時(shí),y=f(x)=0。

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

2(repeat=2)

10(x=10)

0(x=0)

輸出

f(10.00)=0.1

f(0.00)=0.0

Sinclude<stdio.h>

intmain(void)

{

intrepeat,ri;

doublex,y;

scanf("/d”,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(/z%lfz,,&x);

/*-----*/

if(x!=O)y=1/x;

elsey=0;

printfCf(%.2f)=%lf\n”,x,y);

}

)

20022程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入華氏溫度,輸出對(duì)應(yīng)的攝氏溫度。計(jì)算公式:c=5*(f-32)/9,式中:c表

示攝氏溫度,f表示華氏溫度。

輸入輸出示例:括號(hào)內(nèi)為說明

輸入

150(fahr=150)

輸出

Celsius=65

Sinclude<stdio.h>

intmain(void)

intCelsius,fahr;

/*--------*/

scanf("%cT,&fahr);

celsius=5.0*(fahr-32)/9;

printfC'celsius=%d\n〃,Celsius);

)

20023程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入存款金額money,存期year和年利率rate,根據(jù)下列公式計(jì)算存款到期

時(shí)的利息interest(稅前),輸出時(shí)保留2位小數(shù)。

interest=money(1+rate)"year-money

輸入輸出示例:括號(hào)內(nèi)為說明

輸入

100030.025(money=1000,year=3,rate=0.025)

輸出

interest=76.89

ttinclude<stdio.h>

Winclude<math.h>

intmain(void)

(

intmoney,year;

doubleinterest,rate;

/*----*/

scanf(u%d%d%lf),,&money,&year,&rate);

interest=money*pow((1+rate),year)-money;

printf("interest=%.2f\n?/,interest);

}

20024程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0〈repeat<10),做repeat次下列運(yùn)算:

輸入x,計(jì)算并輸出下列分段函數(shù)f(x)的值(保留2位小數(shù)),請(qǐng)調(diào)用sqrt函

數(shù)求平方根,調(diào)用pow函數(shù)求暴。

當(dāng)x>=0時(shí),f(x)=x"0.5,當(dāng)x小于。時(shí),f(x)=(x+l)"2+2x+l/xo

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

3(repeat=3)

10

-0.5

0

輸出

f(10.00)=3.16

f(-0.50)=-2.75

f(0.00)=0.00

^include<stdio.h>

Sinclude<math.h>

intmain(void)

(

intrepeat,ri;

doublex,y;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

/*-*/

scanf("%lf",&x);

if(x>=0)y=sqrt(x);

elsey=pow((x+1),2)+2*x+1/x;

printf(,/f(%.2f)=%.2f\n”,x,y);

)

)

20025程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入實(shí)數(shù)x,計(jì)算并輸出下列分段函數(shù)f(x)的值,輸出時(shí)保留1位小數(shù)。

當(dāng)x不等于10時(shí),y=f(x)=x,當(dāng)x等于10時(shí),y=f(x)=l/x0

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

2(repeat=2)

10

234

輸出

f(10.0)=0.1

f(234.0)=234.0

#include<stdio.h>

intmain(void)

(

intrepeat,ri;

doublex,y;

scanf(/z%dz/,&repeat);

for(ri=1;ri<=repeat;ri++){

/**/

scanf("%lf",&x);

if(x!=10)y=x;

elsey=1/x;

printf(/zf(%.If)=%.x,y);

20026程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入2個(gè)整數(shù)numl和num2,計(jì)算并輸出它們的和、差、積、商與余數(shù)。

/z,,

輸出兩個(gè)整數(shù)的余數(shù)可以用printf(%d%%%d=%d\n,numl,num2,

numl%num2);

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

53(numl=5,num2=3)

輸出

5+3=8

5-3=2

5*3=15

5/3=1

5%3=2

Sinclude<stdio.h>

intmain(void)

(

intnuml,num2;

/*--------*/

scanf("%d%d",&num1,&num2);

printf("%d+%d=%d\n",numl,num2,num1+num2);

printf("%d-%d=%d\n",numl,num2,num1-num2);

printf("%d*%d=%d\n",numl,num2,num1*num2);

printf("%d/%d=%d\n",numl,num2,num1/num2);

printf("%d%%%d=%d\n",numl,num2,num1%num2);

return0;

20031程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

計(jì)算表達(dá)式1+2+3+.....+100的值。

輸出示例:

sum=5050

Sinclude<stdio.h>

intmain(void)

(

inti,sum;

/*--------*/

sum=0;

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

sum=sum+i;

printf("sum=%d\n”,sum);

)

20032程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入一個(gè)正整數(shù)m(0〈=m<=100),計(jì)算表達(dá)式m+(m+1)+(m+2)+.....+100

的值。

輸入輸出示例:括號(hào)內(nèi)為說明

輸入

3(repeat=3)

0(計(jì)算0+1+2+...+100)

10(計(jì)算10+11+12+...+100)

50(計(jì)算50+51+52+...+100)

輸出

sum=5050

sum=5005

sum=3825

Sinclude<stdio.h>

intmain(void)

(

inti,m,sum;

intrepeat,ri;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(〃%d〃,&m);

/*--------*/

sum=0;

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

sum=sum+i;

printf(z/sum=%d\n〃,sum);

)

}

20033程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入2個(gè)正整數(shù)m和n(m<=n),計(jì)算表達(dá)式1/m+1/(m+1)+1/(m+2)+

+1/n的值,輸出時(shí)保留3位小數(shù)。

輸入輸出示例:括號(hào)內(nèi)為說明

輸入

3(repeat=3)

515(計(jì)算1/5+1/6+1/7+...+1/15)

1020(計(jì)算1/10+1/11+1/12+...+1/20)

13(計(jì)算1+1/2+1/3)

輸出

sum=1.235

sum=0.769

sum=1.833

Sinclude<stdio.h>

intmain(void)

(

inti,m,n;

intrepeat,ri;

doublesum;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(〃%d%d〃,&m,&n);

/*----*/

sum=0;

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

sum=sum+1.0/i;

printf(z/sum=%.3f\rT,sum);

)

20034程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入一個(gè)正整數(shù)n,計(jì)算表達(dá)式1+1/3+1/5+.....的前n項(xiàng)之和,輸

出時(shí)保留6位小數(shù)。

輸入輸出示例:括號(hào)內(nèi)為說明

輸入

2(repeat=2)

5(計(jì)算1+1/3+1/5+1/7+1/9)

23(計(jì)算1+1/3+1/5+...+1/45)

輸出

sum=1.787302

sum=2.549541

Sinclude<stdio.h>

intmain(void)

{

inti,n;

intrepeat,ri;

doublesum;

scanf(,,%dz/,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(〃%d〃,&n);

/*----*/

sum=0;

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

sum=sum+1.0/(2*i-1);

printf(,zsum=%.6f\n”,sum);

)

)

20035程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

讀入一個(gè)正整數(shù)n,計(jì)算1—1/4+1/7—1/10+……的前n項(xiàng)之和,輸出時(shí)保留

3位小數(shù)。

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

2(repeat=2)

3

10

輸出

sum=0.893

sum=0.819

Sinclude<stdio.h>

intmain(void)

(

intflag,i,n,t;

intrepeat,ri;

doubleitem,sum;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(〃%d〃,&n);

/*----*/

sum=0;flag=1;item=0;t=1;

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

{item=flag*1.0/t;

sum=sum+item;

flag=-flag;

t=t+3;

)

printf(z,sum=%.3f\nz/,sum);

)

)

20036程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

讀入2個(gè)整數(shù)lower和upper,輸出一張華氏一攝氏溫度轉(zhuǎn)換表,華氏溫度的取

值范圍是[lower,upper],每次增加2F。

計(jì)算公式:c=5*(f-32)/9,其中:c表示攝氏溫度,f表示華氏溫度。

輸出請(qǐng)使用語(yǔ)句printf(zz%3.Of%6.lf\nz/,fahr,Celsius);

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

2(repeat=2)

3235(lower=32,upper=35)

4030(lower=40,upper=30)

輸出

fahrCelsius

320.0

341.1

fahrCelsius

Sinclude<stdio.h>

intmain(void)

(

intlower,upper;

intrepeat,ri;

doubleCelsius,fahr;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(〃%d%d〃,&lower,&upper);

printfC'fahrcelsius\n〃);

/*--------*/

for(fahr=lower;fahr<=upper;fahr=fahr+2){

celsius=5*(fahr-32)/9;

printf("%3.0f%6.1f\n",fahr,Celsius);

)

)

)

20037程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入2個(gè)正整數(shù)m和n,計(jì)算m!+n!o

輸入輸出示例:括號(hào)內(nèi)是說明

輸入:

2(repeat=2)

14(m=l,n=4)

38(m=3,n=8)

輸出:

1!+4!=25

3!+8!=40326

ttinclude〃stdio.h〃

intmain(void)

(

inti,m,n;

intrepeat,ri;

doublefm,fn;

scanf(〃%d〃,ferepeat);

for(ri=1;ri<=repeat;ri++){

scanf(z,%d%dz,,&m,&n);

/*-----*/

fm=fn=1;

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

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

fn=fn*i;

printfC%d!+%d[=%.Of\n”,m,n,fm+fn);

)

)

20038程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

讀入1個(gè)實(shí)數(shù)x和正整數(shù)n(n<=50),計(jì)算并輸出x的n次累(保留2位小數(shù)),

不允許調(diào)用pow函數(shù)求幕。

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

2(repeat=2)

1.52(x=l.5,n=2)

27(x=2,n=7)

輸出

2.25

128.00

Sinclude<stdio.h>

intmain(void)

(

inti,n;

intrepeat,ri;

doublemypow,x;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(,z%lf%dz,,&x,&n);

/*----*/

mypow=1;

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

mypow=mypow*x;

printfC%.2f\nz,,mypow);

20041程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)n,生成一張3的乘方表,輸出:T0?3%的值,可調(diào)用幕函數(shù)計(jì)

算3的乘方。

輸出使用語(yǔ)句printf(,zpow(3,%d)=%.Of\n,z,i,mypow);

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

3(n=3)

輸出

pow(3,0)=1

pow(3,1)=3

pow(3,2)=9

pow(3,3)=27

Sinclude<stdio.h>

Sinclude<math.h>

intmain(void)

(

inti,n;

doublemypow;

scanf(〃%d〃,&n);

/*-----*/

for(i=0;i<=n;i++){

mypow=pow(3,i);

printf("pow(3,%d)=%.Of\n",i,mypow);

)

return0;

)

20042程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)n,生成一張階乘表,輸出l!~n!的值,要求定義和調(diào)用函數(shù)

fact(n)計(jì)算n!,函數(shù)類型為double。

輸出使用語(yǔ)句printf(/z%d!=%.0f\n”,i,myfact);

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

3(n=3)

輸出

1!=1

2!=2

3!=6

^include<stdio.h>

intmain(void)

(

inti,n;

doublemyfact;

doublefact(intn);

scanf(,z%dz,,&n);

/*--------*/

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

myfact=fact(i);

printf("%d!=%.Of\n",i,myfact);

)

return0;

)

/*--------*/

doublefactfintn)

(

inti;

doublef=1;

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

f=f*i;

returnf;

)

20043程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入2個(gè)正整數(shù)m和n(m<=n),計(jì)算n!/(m!*(n-m)!)。

要求定義并調(diào)用函數(shù)fact(n)計(jì)算n的階乘,其中n的類型是int,函數(shù)類型是

doubleo

例:括號(hào)內(nèi)是說明

輸入:

2(repeat=2)

27(m=2,n=7)

512(m=5,n=12)

輸出:

result=21

result=792

Sinclude"stdio.h〃

doublefact(intn);

intmain(void)

(

intm,n;

intrepeat,ri;

doubles;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(,,%d%d/,,&m,&n);

/*-*/

s=fact(n)/(fact(m)*fact(n-m));

printf(^result=%.Of\n,z,s);

}

return0;

)

/*--------*/

doublefact(intn)

(

inti;

doublef=1;

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

f=f*i;

returnf;

)

20044程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

計(jì)算lOO-O.5+10r0.5+……+1000"0.5的值(保留2位小數(shù)),可調(diào)用sqrt函數(shù)

計(jì)算平方根。

輸入輸出示例:括號(hào)內(nèi)是說明

輸出

sum=20435.99

Sinclude<stdio.h>

Sinclude<math.h>

intmain(void)

{

inti;

doublesum;

/*

sum=0;;

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

sum=sum+sqrt(i);

printf(z/sum=%.2f\n,z,sum);

)

30001程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入?yún)?shù)a,b,c,求一元二次方程a*x*x+b*x+c=0的根,結(jié)果保留2位小數(shù)。

輸出使用以下語(yǔ)句:

printf(〃參數(shù)都為零,方程無(wú)意義!\n〃);

printf(〃a和b為0,c不為0,方程不成立\n〃);

printf(,zx=%0.2f\n〃,-c/b);

printf(z,xl=%0.2f\nz,,(-b+sqrt(d))/(2*a));

printf(z/x2=%0,2f\n”,(-b-sqrt(d))/(2*a));

printf(z,xl=%0.2f+%0.2fi\nz,,-b/(2*a),sqrt(-d)/(2*a));

printfC/x2=%0.2f-%0.2fi\nz,,-b/(2*a),sqrt(-d)/(2*a));

輸入輸出示例:括號(hào)內(nèi)為說明

輸入:

5(repeat=5)

000(a=0,b=0,c=0)

001(a=0,b=0,c=l)

024(a=0,b=2,c=4)

2.18.93.5(a=2.1,b=8.9,c=3.5)

123(a=l,b=2,c=3)

輸出:

參數(shù)都為零,方程無(wú)意義!

a和b為0,c不為0,方程不成立

x=-2.00

xl=-0.44

x2=-3.80

xl=-1.00+1.4H

x2=-1.00-1.41i

Sinclude<stdio.h>

Sinclude<math.h>

intmain(void)

(

intrepeat,ri;

doublea,b,c,d;

scanf(,z%dz/,&repeat);

for(ri=1;ri<=repeat;ri++){

scanfC%lf%lf%ir,&a,&b,&c);

/*----*/

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

if(a==O)

if(b==O)

if(c==O)

printf("參數(shù)都為零,方程無(wú)意義!\n");

elseprintf("a^flb^jO,c不為0,方程不成立\n");

elseprintf("x=%0.2f\n",-c/b);

elseif(d>=0){

printf("x1=%0.2f\n",(-b+sqrt(d))/(2*a));

printf("x2=%0.2f\n",(-b-sqrt(d))/(2*a));

)

else

{printf("x1=%0.2f+%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));

printf("x2=%0.2f-%0.2fi\n",-b/(2*a),sqrt(-d)/(2*a));

)

30002程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入一個(gè)整數(shù)x,計(jì)算并輸出下列分段函數(shù)sign(x)的值。

-1x<0

y=sign(x)=0x=0

1x>0

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

3(repeat=3)

10(x=10)

0(x=0)

-98(x=-98)

輸出

sign(10)=1(x=10時(shí)y=1)

sign(0)=0(x=0時(shí)y=0)

sign(-98)=-1(x=-98時(shí)y=-1)

Sinclude<stdio.h>

intmain(void)

(

intrepeat,ri;

intx,y;

scanf(,z%dz/,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(〃%d〃,&x);

/*---------*/

if(x>0)y=1;

elseif(x==O)y=0;

elsey=-1;

printf("sign冊(cè)d)=%d\n”,x,y);

)

return0;

)

30003程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入10個(gè)字符,統(tǒng)計(jì)其中英文字母、空格或回車、數(shù)字字符和其他字符的個(gè)數(shù)。

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

Reold123?

輸出

letter=5,blank=1,digit=3,other=1

Sinclude<stdio.h>

intmain(void)

(

charc;

intblank,digit,i,letter,other;

blank=digit=letter=other=0;

for(i=1;i<=10;i++){

c=getchar();

/*--------*/

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

letter++;

elseif(c>='0'&&c<='91)

digit++;

elseif(c=="||c=='\n')

blank++;

elseother++;

}

printf("letter=%d,blank=%d,digit=%d,other=%d\n〃,letter,

blank,digit,other);

return0;

30004程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一?個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入五級(jí)制成績(jī)(A—E),輸出相應(yīng)的百分制成績(jī)(0—100)區(qū)間,要求使用switch

語(yǔ)句。

五級(jí)制成績(jī)對(duì)應(yīng)的百分制成績(jī)區(qū)間為:A(90T00)、B(80-89)、C(70-79)、D(60-69)

和E(0-59),如果輸入不正確的成績(jī),顯示“Invalidinput”。

輸出使用以下語(yǔ)句:

printf(“90T00\n");

printf(“80-89\n");

printf("70-79\n");

printf("60-69\n");

printf("0-59\n");

printf("Invalidinput'n");

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

6ABCDEj(repeat=6,輸入的五級(jí)成績(jī)分別為A、B、C、D、E和無(wú)效的字

符j)

輸出

90-100

80-89

70-79

60-69

0-59

Invalidinput(輸入數(shù)據(jù)不合法)

#include<stdio.h>

intmain(void)

{

charch;

intrepeat,ri:

scanf&repeat);

for(ri=1;ri<=repeat;ri++){

ch=getchar();

/*---*/

switch(ch){

case'A':printf("90-100\n");break;

case'B':printf("80-89\n");break;

case'C:printf("70-79\n");break;

case'D':printf("60-69\n");break;

case'E':printf("0-59\n");break;

default:printf("Invalidinput\n");break;

return0;

30005程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

查詢水果的單價(jià)。有4種水果,蘋果(apples)、梨(pears)、桔子(oranges)和葡

萄(grapes),單價(jià)分別是3.00元/公斤,2.50元/公斤,4.10元/公斤和10.20元/

公斤。

在屏幕上顯示以下菜單(編號(hào)和選項(xiàng)),用戶可以連續(xù)查詢水果的單價(jià),當(dāng)查詢次

數(shù)超過5次時(shí),自動(dòng)退出查詢;不到5次時(shí),用戶可以選擇退出。

當(dāng)用戶輸入編號(hào)1?4,顯示相應(yīng)水果的單價(jià)(保留1位小數(shù));輸入0,退出查詢;

輸入其他編號(hào),顯示價(jià)格為0。

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

3(oranges的編號(hào))

0(退出查詢)

輸出

[1]apples

[2]pears

[3]oranges

[4]grapes

[0]Exit

price=4.1

[1]apples

[2]pears

[3]oranges

[4]grapes

[0]Exit

#include<stdio.h>

intmain(void)

(

intchoice,i;

doubleprice;

for(i=1;i<=5;i++){

printf[1]apples\n");

printf(〃[2]pears\n〃);

printf("[3]oranges\nz,);

printfC[4]grapes\n,/);

printf(〃[0]Exit\n,z);

scanf(〃%d〃,&choice);

if(choice==0)

break;

else{

/*---------*/

switch(choice){

case1:price=3.0;break;

case2:price=2.5;break;

case3:price=4.1;break;

case4:price=10.2;break;

default:price=0.0;break;

)

printf(,zprice=%0.lf\n〃,price);

)

return0;

)

30006程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入5個(gè)學(xué)生的數(shù)學(xué)成績(jī),判斷他們的成績(jī)是否及格。如果成績(jī)低于60,輸出

"Fail”,否則,輸出"Pass”。

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

61

59

92

40

60

輸出

Pass

Fail

Pass

Fail

Pass

Sinclude<stdio.h>

intmain(void)0

(

inti,mark;

for(i=1;i<=5;i++){

scanf(〃%d〃,&mark);

/*----*/

if(mark>=60)printfCPass\n");

elseprintff1Faihn");

)

)

30007程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入三角形的3條邊a,b,c,如果能構(gòu)成一個(gè)三角形,輸出面積area和周長(zhǎng)

perimeter(保留2位小數(shù));否則,輸出"Thesesidesdonotcorrespondtoa

validtriangle”。

在一個(gè)三角形中,任意兩邊之和大于第三邊。三角形面積計(jì)算公式:area=

(s(s-a)(s-b)(s-c))0.5,其中s=(a+b+c)/2

輸出使用以下語(yǔ)句:

printf(z/area=%.2f,perimeter=%.2f\n,z,area,perimeter);

printf("Thesesidesdonotcorrespondtoavalidtriangle\nzz);

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

2(repeat=2)

553(a=5,b=5,c=3)

141(a=l,b=4,c=l)

輸出

area=7.15,perimeter=13.00

Thesesidesdonotcorrespondtoavalidtriangle

ttinclude<stdio.h>

Winclude<math.h>

intmain(void)

(

inta,b,c;

intrepeat,ri;

doublearea,perimeter,s;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(,,%d%d%dz,,&a,&b,&c);

/*--------*/

if(a+b>c&&b+c>a&&c+a>b)

{perimeter=a+b+c;

s=perimeter/2;

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

printf("area=%.2f,perimeter=%.2f\n",area,perimeter);

)

else

printtf"Thesesidesdonotcorrespondtoavalid

triangle\n");

)

return0;

30008程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入-"個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入一個(gè)職工的月薪salary,輸出應(yīng)交的個(gè)人所得稅tax(保留2位小數(shù))。

計(jì)算公式:tax=rate*(salary-850)

當(dāng)salaryW850時(shí),rate=0

當(dāng)850<salaryW1350時(shí),rate=5%

當(dāng)1350<salary^2850時(shí),rate=10%

當(dāng)2850<salaryW5850時(shí),rate=15%

當(dāng)5850<salary時(shí),rate=20%

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

5(repeat=5)

1010.87(salary=1010.87)

32098.76(salary=32098.76)

800(salary=800)

4010(salary=4010)

2850(salary=2850)

輸出

tax=8.04

tax=6249.75

tax=0.00

tax=474.00

tax=200.00

ttinclude<stdio.h>

intmain(void)

(

intrepeat,ri;

doublerate,salary,tax;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf&salary);

/*---------*/

if(salary<=850)rate=O;

elseif(salary<=1350)rate=0.05;

elseif(salary<=2850)rate=0.1;

elseif(salary<=5850)rate=0.15;

elserate=0.2;

tax=rate*(salary-850);

printf(z,tax=%0.2f\n”,tax);

)

}

30009程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)n,再輸入n個(gè)學(xué)生的百分制成績(jī),統(tǒng)計(jì)各等級(jí)成績(jī)的個(gè)數(shù)。

成績(jī)等級(jí)分為五級(jí),分別為A(90T00)、B(80-89)、C(70-79)、D(60-69)和E(0-59)。

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

5(n=5)

7754927360

輸出

NumberofA(90-100):1

NumberofB(80-89):0

NumberofC(70-79):2

NumberofD(60-69):1

NumberofE(0-59):1

ttinclude<stdio.h>

intmain(void)

(

inti,mark,n;

intna,nb,nc,nd,ne;

scanf(〃%d〃,&n);

na=nb=nc=nd=ne=0;

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

scanf(〃%d〃,&mark);

/*-----*/

if(mark>=90)na++;

elseif(mark>=80)nb++;

elseif(mark>=70)nc++;

elseif(mark>=60)nd++;

elsene++;

)

printf("NumberofA(90-100):%d\n\na);

printf("NumberofB(80-89):%d\n,z,nb);

printf("NumberofC(70-79):%d\n”,nc):

printf("NumberofD(60-69):%d\n”,nd);

printf("NumberofE(0-59):%d\n〃,ne);

30010程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入一個(gè)形式如〃操作數(shù)運(yùn)算符操作數(shù)〃的表達(dá)式,對(duì)2個(gè)整數(shù)進(jìn)行乘、除和求

余運(yùn)算。

輸出使用以下語(yǔ)句:

printf(z,%d*%d=%d\n〃,x,y,x*y);

printfC/%d/%d=%d\n〃,x,y,x/y);

printf(zz%dMod%d=%d\n〃,x,y,x%y);

printf(''Invalidoperator\n,/);

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

4(repeat=4)

21*8

21/8

21%8

21!8

輸出

21*8=168

21/8=2

21Mod8=5

Invalidoperator

Sinclude<stdio.h>

intmain(void)

(

charsign;

intx,y;

intrepeat,ri;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(/z%d%c%dz,,&x,&sign,&y);

/*--------*/

switch(sign){

caseprintf("%d*%d=%d\n",x,y,x*y);break;

case7':printf("%d/%d=%d\n",x,y,x/y);break;

casel%':printf("%dMod%d=%d\n",x,y,x%y);break;

default:printf("Invalidoperator\n");break;

)

)

return0;

)

40011程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入兩個(gè)正整數(shù)m和n,輸出它們的最小公倍數(shù)和最大公約數(shù)。

輸入輸出示例:括號(hào)內(nèi)為說明

輸入:

3(repeat=3)

37(m=3,n=7)

244(m=24,n=4)

2418(m=24,n=18)

輸出:

21istheleastcommonmultipleof3and7,1isthegreatestcommondivisor

of3and7.

24istheleastcommonmultipleof24and4,4isthegreatestcommon

divisorof24and4.

72istheleastcommonmultipleof24and18,6isthegreatestcommon

divisorof24and18.

Sinclude<stdio.h>

intmain(void)

(

intgcd,1cm,m,n;

intrepeat,ri;

scanf(,,%dzz,fcrepeat);

for(ri=1;ri<=repeat;ri++){

scanf(〃%d〃,&m);

scanf(〃%d〃,&n);

if(m<=0||n<=0)

printfC'm<=0orn<=0〃);

else{

/*----------*/

for(lcm=m;lcm%n!=0;lcm=lcm+m)

gcd=m*n/lcm;

}

printf(z/%distheleastcommonmultipleof%dand%d,%dis

thegreatestcommondivisorof%dand%d.\n〃,1cm,m,n,gcd,m,n);

)

return0;

)

40012程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

讀入1個(gè)正實(shí)數(shù)eps,計(jì)算并輸出下式的值,精確到最后一項(xiàng)的絕對(duì)值小于

eps(保留6位小數(shù))。請(qǐng)使用while語(yǔ)句實(shí)現(xiàn)循環(huán)。

^1-1/4+1/7-1/10+1/13-1/16+....。

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

2(repeat=2)

1E-4(eps=lE-4)

0.1(eps=0.1)

輸出

sum=0.835699

sum=0.869780

Sinclude<stdio.h>

ttinclude<math.h>

intmain(void)

(

intdenominator,flag;

intrepeat,ri;

doubleeps,item,sum;

scanf(z,%d/z,ferepeat);

for(ri=1;ri<=repeat;ri++){

scanf(z,%lez,,&eps);

/*----*/

sum=0;denominator=1;flag=1;item=1;

while(fabs(item)>=eps)

{item=flag*1.0/denominator;

sum=sum+item;

denominator=denominator+3;

flag=-flag;

)

printf(z,sum=%6f\n”,sum);

)

)

40013程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

讀入--批正整數(shù)(以零或負(fù)數(shù)為結(jié)束標(biāo)志),求其中的奇數(shù)和。請(qǐng)使用while語(yǔ)句

實(shí)現(xiàn)循環(huán)。

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

2(repeat=2)

139070

87437056101-1

輸出

Thesumoftheoddnumbersis11.

Thesumoftheoddnumbersis116.

Sinclude<stdio.h>

intmain(void)

(

intx,sum;

intrepeat,ri;

scanfferepeat);

for(ri=1;ri<=repeat;ri++){

scanf(〃%d”,&x);

/*----------*/

sum=0;

while(x>0)

(

if(x%2)sum=sum+x;

scanf("%d",&x);

)

printf(,zThesumoftheoddnumbersis%d.\n/,,sum);

40014程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入一個(gè)整數(shù)in,求它的位數(shù)。例如123的位數(shù)是3。請(qǐng)使用do-while語(yǔ)句實(shí)現(xiàn)

循環(huán)。

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

4(repeat=4)

12345(in=12345)

-100(in=-100)

-1(in=-l)

1290(in=1290)

輸出

count=5(12345的位數(shù)是5)

count=3(TOO的位數(shù)是3)

count=1(T的位數(shù)是1)

count=4(99的位數(shù)是2)

^include<stdio.h>

intmain(void)

(

intcount,in;

intrepeat,ri;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(〃%d〃,&in);

/*---------*/

count=0;

if(in<0)in=-in;

do{

count++;

in=in/10;

}while(in);

printf("count=%d\n”,count);

)

)

40015程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入一個(gè)正整數(shù)n,再輸入n個(gè)整數(shù),輸出最小值。

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

3(repeat=3)

4-2-1231000

4-9-11-8

3531

輸出

min=-123

min=-9

min=1

Sinclude<stdio.h>

intmain(void)

(

inti,min,n,x;

intrepeat,ri;

scanf(〃%d〃,fcrepeat);

for(ri=1;ri<=repeat;ri++){

scanf(〃%d〃,&n);

scanf(〃%d”,&x);

/*---------*/

min=x;

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

scanf("%d",&x);

if(x<min)min=x;}

printf(zzmin=%d\nz/,min);

40016程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入一個(gè)整數(shù)in,求它的位數(shù)以及各位數(shù)字之和。例如123的各位數(shù)字之和是

6,位數(shù)是30

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

4(repeat=4)

0(in=0)

23456(in=23456)

-100(in=-100)

(in=-l)

輸出

count=1,sum=0(0的位數(shù)是1,各位數(shù)字之和是0)

count=5,sum=20(23456的位數(shù)是5,各位數(shù)字之和是20)

count=3,sum=1(T00的位數(shù)是3,各位數(shù)字之和是1)

count=1,sum=1(-1的位數(shù)是1,各位數(shù)字之和是1)

#include<stdio.h>

intmain(void)

{

intcount,in,sum;

intrepeat,ri;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(〃%d〃,&in);

/*---------*/

count=sum=0;

if(in<0)in=-in;

if(in==O){count=1;sum=0;}

while(in!=0)

{sum=sum+in%10;

count++;

in=in/10;

)

printf("count=%d,sum=%d\n”,count,sum);

)

40017程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入一個(gè)正整數(shù)n,輸出2/1+3/2+5/3+8/5+……前n項(xiàng)之和,保留2位小數(shù)。

(該序列從第2項(xiàng)起,每一項(xiàng)的分子是前一項(xiàng)分子與分母的和,分母是前一項(xiàng)的分

子)

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

3(repeat=3)

1(n=l)

5(n=5)

20(n=20)

輸出

sum=2.00(第1項(xiàng)是2.00)

sum=8.39(前5項(xiàng)的和是8.39)

sum=32.66(前20項(xiàng)的和是32.66)

#include<stdio.h>

intmain(void)

inti,n;

intrepeat,ri;

doubledenominator,numerator,sum,temp;

scanf(〃%d〃,&repeat);

for(ri=1;ri<=repeat;ri++){

scanf(〃%d〃,&n);

/*---------*/

denominator=1;numerator=2;sum=0;

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

{sum=sum+numerator/denominator;

temp=numerator;

numerator=denominator+numerator;

denominator=temp;

)

printf("sum=%.2f\n”,sum);

)

)

40018程序填空,不要改變與輸入輸出有關(guān)的語(yǔ)句。

輸入一個(gè)正整數(shù)repeat(0<repeat<10),做repeat次下列運(yùn)算:

輸入2個(gè)正整數(shù)a和n,求a+aa+aaa+aa…a(n個(gè)a)之和。例如,輸入2和

3,輸出246(2+22+222)。

輸入輸出示例:括號(hào)內(nèi)是說明

輸入

3(repeat=3)

23(a=2,n=3)

54(a=5,n=4)

11(a=l,n=l)

輸出

sum=246(2+22+222)

sum=6170(5+55+555+5555)

sum=1(1)

#include<stdi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論