浙江大学城市学院程序设计二上机答.docx

上传人:b****5 文档编号:6851581 上传时间:2023-01-11 格式:DOCX 页数:11 大小:16.32KB
下载 相关 举报
浙江大学城市学院程序设计二上机答.docx_第1页
第1页 / 共11页
浙江大学城市学院程序设计二上机答.docx_第2页
第2页 / 共11页
浙江大学城市学院程序设计二上机答.docx_第3页
第3页 / 共11页
浙江大学城市学院程序设计二上机答.docx_第4页
第4页 / 共11页
浙江大学城市学院程序设计二上机答.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

浙江大学城市学院程序设计二上机答.docx

《浙江大学城市学院程序设计二上机答.docx》由会员分享,可在线阅读,更多相关《浙江大学城市学院程序设计二上机答.docx(11页珍藏版)》请在冰豆网上搜索。

浙江大学城市学院程序设计二上机答.docx

浙江大学城市学院程序设计二上机答

5周

计算函数P(n,x)

输入一个正整数repeat(0

输入一个整数n(n>=0)和一个双精度浮点数x,输出函数p(n,x)的值(保留2位小数)。

[1(n=0)

p(n,x)=[x(n=1)

[((2*n-1)*p(n-1,x)-(n-1)*p(n-2,x))/n(n>1)

例:

括号内是说明

输入

3(repeat=3)

00.9(n=0,x=0.9)

1-9.8(n=1,x=-9.8)

101.7(n=10,x=1.7)

输出

p(0,0.90)=1.00

p(1,-9.80)=-9.80

p(10,1.70)=3.05

#include

doublep(intn,doublex);

intmain(void)

{

intrepeat,ri;

intn;

doublex,result;

scanf("%d",&repeat);

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

{

scanf("%d%lf",&n,&x);

result=p(n,x);

printf("p(%d,%.2lf)=%.2lf\n",n,x,result);

}

}

doublep(intn,doublex)

{

doublet;

if(n==0)t=1;

elseif(n==1)

t=x;

else

t=((2*n-1)*p(n-1,x)-(n-1)*p(n-2,x))/n;

returnt;

}

10016十进制转换二进制

输入一个正整数repeat(0

输入1个正整数n,将其转换为二进制后输出。

要求定义并调用函数dectobin(n),它的功能是输出n的二进制。

例如,调用dectobin(10),输出1010。

输出语句:

printf("%d");

例:

括号内是说明

输入:

3(repeat=3)

15

100

0

输出:

1111

1100100

0

#include"stdio.h"

intmain(void)

{

intri,repeat;

intn;

voiddectobin(intn);

scanf("%d",&repeat);

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

scanf("%d",&n);

dectobin(n);

printf("\n");

}

}

voiddectobin(intn)

{

inta[32],i;

if((n==0)||(n==1)){

printf("%d",n);

return;

}

else{

i=0;

while(n!

=0)

{

a[i++]=n%2;

n=n/2;

}

}

while(i>0)

printf("%d",a[--i]);

}

#include"stdio.h"

intmain(void)

{

intri,repeat;

inti,n;

voiddectobin(intn);

scanf("%d",&repeat);

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

scanf("%d",&n);

dectobin(n);

printf("\n");

}

}

voiddectobin(intn)

{

if(n==1||n==0){

printf("%d",n);

return;

}

dectobin(n/2);

printf("%d",n%2);

}

10017递归函数程序设计求Fabonacci数列

输入一个正整数repeat(0

用递归方法编写求Fabonacci数列项的函数,返回值为长整型,并写出相应的主函数。

Fabonacci数列的定义为:

f(n)=f(n-2)+f(n-1)(n>=2)其中f(0)=0,f

(1)=1。

例:

(括号内为说明)

输入

3(repeat=3)

0

1

6

输出

fib(0)=0

fib

(1)=1

fib(6)=8

#include

longfib(intn);

intmain(void)

{

intn,ri,repeat;

scanf("%d",&repeat);

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

scanf("%d",&n);

printf("fib(%d)=%ld\n",n,fib(n));

}

}

longfib(intn)

{

intt;

if(n==0)t=0;

elseif(n==1)t=1;

elset=fib(n-2)+fib(n-1);

returnt;

}

10019改错题error10_1.cpp

用递归函数计算x^n(n>=1)的值。

例:

(括号内为说明)

输入

23(x=2,n=3)

输出

Root=8.00

#include

doublefun(intn,doublex);

intmain(void)

{

intn;

doublex,root;

scanf("%lf%d",&x,&n);

root=fun(n,x);

printf("Root=%0.2f\n",root);

}

doublefun(intn,doublex)

{

doubler;

if(n==1)r=x;

elser=x*fun(n-1,x);

returnr;

}

10022编程题

输入一个正整数repeat(0

编写程序,输入一个月份,输出对应的英文名称,要求用指针数组表示12个月的英文名称。

若输入月份错误,输出提示信息。

输入输出示例:

括号内为说明

输入:

3(repeat=3)

5

9

14

输出:

May

September

Wronginput!

#include

voidmain()

{

intri,repeat;

intmonth;

char*month_name[]={"","January","February","March","April","May","June","July","August","September","October","November","December"};

scanf("%d",&repeat);

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

scanf("%d",&month);

if((month>=1)&&(month<=12))

puts(month_name[month]);

else

printf("Wronginput!

");

}

}

10026指定位置输出字符串

编写一个程序,输入一个字符串后再输入2个字符,输出此字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。

用返回字符指针的函数实现。

例:

(括号内为说明)

输入

program

r

g

输出

rog

#include

charnewstr[80];

voidmain()

{

charstr[80],c_begin,c_end;

char*fun(char*p,charc_begin,charc_end);

scanf("%s",str);

getchar();

c_begin=getchar();

getchar();

c_end=getchar();

puts(fun(str,c_begin,c_end));

}

char*fun(char*p,charc_begin,charc_end)

{

char*t;

t=newstr;

while(*(p++)!

=c_begin);

p--;

while(*p!

=c_end)

*(t++)=*(p++);

*(t++)=*(p++);

*t='\0';

returnnewstr;

}

10027藏尾诗

编写一个解密藏尾诗的程序。

输入一首藏尾诗(假设只有4句),输出其藏尾的真实含义。

用返回字符指针的函数实现。

例:

输入:

悠悠田园风

然而心难平

兰花轻涌浪

兰香愈幽静

输出:

风平浪静

#include

#include

charp[16];

voidmain()

{

char*change(chars[4][20]);

chars[4][20];

inti;

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

scanf("%s",s[i]);

puts(change(s));

}

char*change(chars[4][20])

{

inti,t,len;

t=0;

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

len=strlen(s[i]);

p[t++]=s[i][len-2];

p[t++]=s[i][len-1];

}

p[t]='\0';

return(p);

}

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

当前位置:首页 > 法律文书 > 调解书

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

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