程序设计第一学期题库Word下载.docx

上传人:b****6 文档编号:16828993 上传时间:2022-11-26 格式:DOCX 页数:69 大小:35.47KB
下载 相关 举报
程序设计第一学期题库Word下载.docx_第1页
第1页 / 共69页
程序设计第一学期题库Word下载.docx_第2页
第2页 / 共69页
程序设计第一学期题库Word下载.docx_第3页
第3页 / 共69页
程序设计第一学期题库Word下载.docx_第4页
第4页 / 共69页
程序设计第一学期题库Word下载.docx_第5页
第5页 / 共69页
点击查看更多>>
下载资源
资源描述

程序设计第一学期题库Word下载.docx

《程序设计第一学期题库Word下载.docx》由会员分享,可在线阅读,更多相关《程序设计第一学期题库Word下载.docx(69页珍藏版)》请在冰豆网上搜索。

程序设计第一学期题库Word下载.docx

intmoney,year;

doubleinterest,rate;

%d%d%lf"

money,&

year,&

rate);

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

interest=%.2f\n"

interest);

3.计算分段函数

输入一个正整数repeat(0<

repeat<

10),做repeat次下列运算:

输入x,计算并输出下列分段函数f(x)的值(保留2位小数),请调用sqrt函数求平方根,

调用pow函数求幂。

当x>

=0时,f(x)=x^0.5,当x小于0时,f(x)=(x+1)^2+2x+1/x。

括号内是说明

3(repeat=3)

10

-0.5

f(10.00)=3.16

f(-0.50)=-2.75

f(0.00)=0.00

intrepeat,ri;

doublex,y;

&

repeat);

for(ri=1;

ri<

=repeat;

ri++)

scanf("

%lf"

x);

if(x<

0)

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

else

y=sqrt(x);

printf("

f(%.2f)=%.2f\n"

x,y);

}

4.计算两个整数的和、差、积、商与余数

输入2个整数num1和num2,计算并输出它们的和、差、积、商与余数。

输出两个整数的余数可以用printf("

%d%%%d=%d\n"

num1,num2,num1%num2);

53(num1=5,num2=3)

5+3=8

5-3=2

5*3=15

5/3=1

5%3=2

intnum1,num2;

%d%d"

num1,&

num2);

%d+%d=%d\n"

num1,num2,num1+num2);

%d-%d=%d\n"

num1,num2,num1-num2);

%d*%d=%d\n"

num1,num2,num1*num2);

%d/%d=%d\n"

num1,num2,num1/num2);

num1,num2,num1%num2);

5.计算旅途时间(选作)

输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。

有效的时间范围是0000到2359(前两位表示小时,后两位表示分钟),

不需要考虑出发时间晚于到达时间的情况。

7121411(出发时间是7:

12,到达时间是14:

11)

Thetrainjourneytimeis6hours59minutes.

inttime1,time2,hour,minutes;

time1,&

time2);

hour=(time2-time1)/100;

minutes=time2-time1-100*hour-40;

Thetrainjourneytimeis%dhours%dminutes.\n"

hour,minutes);

6.数字加密(选作)

输入一个四位数,将其加密后输出。

方法是将该数每一位上的数字加9,

然后除以10取余,做为该位上的新数字,最后将千位和十位上的数字互换,

百位和个位上的数字互换,组成加密后的新四位数。

1257

Theencryptednumberis4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)

intdigit1,digit2,digit3,digit4,newnum,number;

number);

digit1=number%10;

digit2=(number%100-digit1)/10;

digit3=(number%1000-digit2*10-digit1)/100;

digit4=(number%10000-digit3*100-digit2*10-digit1)/1000;

digit4=(digit4+9)%10;

digit3=(digit3+9)%10;

digit2=(digit2+9)%10;

digit1=(digit1+9)%10;

newnum=digit3+digit4*10+digit1*100+digit2*1000;

Theencryptednumberis%d\n"

newnum);

3实验2.3指定次数的循环

1.求m+(m+1)+(m+2)+......+100

输入一个正整数m(0<

=m<

=100),计算表达式m+(m+1)+(m+2)+......+100的值。

输入输出

0(计算0+1+2+...+100)sum=5050

10(计算10+11+12+...+100)sum=5005

50(计算50+51+52+...+100)sum=3825

{

inti,m,sum;

for(ri=1;

{

m);

sum=0;

for(i=m;

i<

=100;

i++)

sum=sum+i;

sum=%d\n"

sum);

}

2.求1/m+1/(m+1)+1/(m+2)+......+1/n

输入2个正整数m和n(m<

=n),计算表达式1/m+1/(m+1)+1/(m+2)+......+1/n的值,

输出时保留3位小数。

515(计算1/5+1/6+1/7+...+1/15)sum=1.235

1020(计算1/10+1/11+1/12+...+1/20)sum=0.769

13(计算1+1/2+1/3)sum=1.833

inti,m,n;

doublesum;

m,&

n);

=n;

sum=sum+1.0/i;

sum=%.3f\n"

}

3.求1+1/3+1/5+......+1/n

输入一个正整数n,计算表达式1+1/3+1/5+......的前n项之和,输出时保留6位小数。

2(repeat=2)

5(计算1+1/3+1/5+1/7+1/9)sum=1.787302

23(计算1+1/3+1/5+...+1/45)sum=2.549541

inti,n;

for(i=1;

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

sum=%.6f\n"

4.求1-1/4+1/7-1/10+……的前n项之和

读入一个正整数n,计算1-1/4+1/7-1/10+……的前n项之和,输出时保留3位小数。

3sum=0.893

10sum=0.819

intflag,i,n;

doubleitem,sum;

flag=-1;

flag=-flag;

item=3*i-2;

sum=sum+flag*1.0/item;

}

5.求m!

+n!

输入2个正整数m和n,计算m!

+n!

输入:

输出:

14(m=1,n=4)1!

+4!

=25

38(m=3,n=8)3!

+8!

=40326

#include"

stdio.h"

doublefm,fn;

fm=1;

fn=1;

=m;

fm=fm*i;

fn=fn*i;

%d!

+%d!

=%.0f\n"

m,n,fm+fn);

6.求x的n次幂

读入1个实数x和正整数n(n<

=50),计算并输出x的n次幂(保留2位小数),不允许调用pow函数求幂。

1.52(x=1.5,n=2)2.25

27(x=2,n=7)128.00

doublemypow,x;

%lf%d"

x,&

mypow=1;

mypow=mypow*x;

%.2f\n"

mypow);

4实验2.4使用函数

1.生成3的乘方表

输入一个正整数n,生成一张3的乘方表,输出3^0~3^n的值,可调用幂函数计算3的乘方。

输出使用语句printf("

pow(3,%d)=%.0f\n"

i,mypow);

3(n=3)

pow(3,0)=1

pow(3,1)=3

pow(3,2)=9

pow(3,3)=27

doublemypow;

for(i=0;

mypow=pow(3,i);

2.生成阶乘表

输入一个正整数n,生成一张阶乘表,输出1!

~n!

的值,

要求定义和调用函数fact(n)计算n!

,函数类型为double。

i,myfact);

1!

=1

2!

=2

3!

=6

doublemyfact;

doublefact(intn);

for(i=1;

myfact=fact(i);

doublefact(intn)

inti;

myfact=1;

myfact=myfact*i;

returnmyfact;

3.使用函数求n!

/(m!

*(n-m)!

=n),计算n!

*(n-m)!

)。

要求定义并调用函数fact(n)计算n的阶乘,其中n的类型是int,函数类型是double。

例:

27(m=2,n=7)result=21

512(m=5,n=12)result=792

doublefact(intn);

intm,n;

doubles;

s=1;

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

result=%.0f\n"

s);

doubleproduct;

product=1;

product=product*i;

returnproduct;

4.求100^0.5+101^0.5+……+1000^0.5

计算100^0.5+101^0.5+……+1000^0.5的值(保留2位小数),可调用sqrt函数计算平方根。

sum=20435.99

sum=0;

for(i=100;

=1000;

sum=sum+sqrt(i);

sum=%.2f\n"

5实验3分支结构程序设计

1.求分段函数的值

-1x<

0

y=sign(x)=0x=0

1x>

3(repeat=3)

10(x=10)sign(10)=1(x=10时y=1)

0(x=0)sign(0)=0(x=0时y=0)

-98(x=-98)sign(-98)=-1(x=-98时y=-1)

intx,y;

y=-1;

elseif(x==0)

y=0;

y=1;

sign(%d)=%d\n"

2.分类统计字符

输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。

Reold123?

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

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'

Z'

))

letter++;

elseif(c>

0'

9'

digit++;

elseif(c=='

'

blank++;

other++;

letter=%d,blank=%d,digit=%d,other=%d\n"

letter,blank,digit,other);

3.显示五级记分制成绩所对应的百分制成绩区间(使用switch)

输入一个正整数repeat(0<

10),做repeat次下列运算:

输入五级制成绩(A-E),输出相应的百分制成绩(0-100)区间,要求使用switch语句。

五级制成绩对应的百分制成绩区间为:

A(90-100)、B(80-89)、C(70-79)、D(60-69)和E(0-59),

如果输入不正确的成绩,显示"

Invalidinput"

输出使用以下语句:

printf("

90-100\n"

);

80-89\n"

70-79\n"

60-69\n"

0-59\n"

Invalidinput\n"

6ABCDEj(repeat=6,输入的五级成绩分别为A、B、C、D、E和无效的字符j)

90-100

80-89

70-79

60-69

0-59

Invalidinput(输入数据不合法)

charch;

ch=getchar();

switch(ch)

case'

:

printf("

break;

B'

C'

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1