精选医学模拟c语言高职附答案docWord文件下载.docx

上传人:b****1 文档编号:14703256 上传时间:2022-10-24 格式:DOCX 页数:13 大小:20.38KB
下载 相关 举报
精选医学模拟c语言高职附答案docWord文件下载.docx_第1页
第1页 / 共13页
精选医学模拟c语言高职附答案docWord文件下载.docx_第2页
第2页 / 共13页
精选医学模拟c语言高职附答案docWord文件下载.docx_第3页
第3页 / 共13页
精选医学模拟c语言高职附答案docWord文件下载.docx_第4页
第4页 / 共13页
精选医学模拟c语言高职附答案docWord文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

精选医学模拟c语言高职附答案docWord文件下载.docx

《精选医学模拟c语言高职附答案docWord文件下载.docx》由会员分享,可在线阅读,更多相关《精选医学模拟c语言高职附答案docWord文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

精选医学模拟c语言高职附答案docWord文件下载.docx

if(___________________)

{

x=0;

break;

}

printf("

%s\n"

x?

"

是"

:

"

否"

);

答案:

buf[i]!

=buf[strlen(buf)-1-i]

附测试程序:

#include<

stdio.h>

string.h>

main()

{inti;

abc2de11edcba"

for(i=0;

if(buf[i]!

=buf[strlen(buf)-1-i])

}

}

2.代码填空(满分3分)

下列代码把一个二进制的串转换为整数。

请填写缺少的语句;

char*p="

1010110001100"

intn=0;

i<

strlen(p);

{

n=__________________;

}

%d\n"

n);

n*2+(*(p+i)-'

0'

char*p="

1001"

intn=0;

n=n*2+(*(p+i)-'

3.代码填空(满分3分)

假设a,b,c是3个互不相等的整数。

下列代码取出它们中居中的数值,记录在m中。

其中的swap()函数可以交换两个变量的值。

请完善代码。

if(a>

b)swap(&

a,&

b);

//将较大数推向b

if(b>

c)swap(&

b,&

c);

//将较大数推向c,c即为三个数中的最大值

______________________;

//再将a、b中的较大数推向b,b即为中间数

intm=b;

if(a>

voidswap(int*p,int*q)

{intt;

t=*p;

*p=*q;

*q=t;

{inta,b,c,m;

Inputa,b,c:

scanf("

%d,%d,%d"

&

a,&

b,&

//将较大数推向b

//将较大数推向c,c即为三个数中的最大值

//再将a、b中的较大数推向b,b即为中间数

m=b;

min=%d,m=%d,max=%d\n"

a,m,c);

4.代码填空(满分6分)

下面函数的目的是求出某个日期是该年度的第几天。

试完善之。

如果传入:

year=1980,month=1,day=1

则返回1

year=1980,month=2,day=1

则返回32

intgetDayOfYear(intyear,intmonth,intday)

{

intdays_____________________;

intflag=(year%4==0&

&

year%100!

=0)||year%400==0?

1:

0;

intsum=day;

for(inti=0;

month;

i++){

sum+=days[flag][i];

}

returnsum;

[2][12]={{0,31,28,31,30,31,30,31,31,30,31,30},{0,31,29,31,30,31,30,31,31,30,31,30}}

inti,days[2][12]={{0,31,28,31,30,31,30,31,31,30,31,30},{0,31,29,31,30,31,30,31,31,30,31,30}};

intflag=(year%4==0&

intsum=day;

sum+=days[flag][i];

}

returnsum;

intyear,month,day;

Ipnutyear,month,day:

year,&

month,&

day);

getDayOfYear(year,month,day));

5.代码填空(满分7分)

计算3个A,2个B可以组成多少种排列的问题(如:

AAABB,AABBA)是《组合数学》的研究领域。

但有些情况下,也可以利用计算机计算速度快的特点通过巧妙的推理来解决问题。

下列的程序计算了m个A,n个B可以组合成多少个不同排列的问题。

请完善它。

intf(intm,intn)

if(m==0||n==0)return1;

return_______________________;

f(m-1,n)+f(m,n-1)

returnf(m-1,n)+f(m,n-1);

inti,j;

Inputm,n:

%d,%d"

i,&

j);

kinds=%d\n"

f(i,j));

6.代码填空(满分10分)

(a+b)的n次幂的展开式中各项的系数很有规律,对于n=2,3,4时分别是:

121,1331,14641。

这些系数构成了著名的杨辉三角形:

1

11

121

1331

14641

15101051

下列的程序给出了计算第m层的第n个系数的计算方法,试完善之(m,n都从0算起)。

intf(intm,intn)

if(m==0)return1;

if(n==0||n==m)return1;

return__________________________;

f(m-1,n-1)+f(m-1,n)

{if(m==0)return1;

if(n==0||n==m)return1;

returnf(m-1,n-1)+f(m-1,n);

{inti,j;

10;

i++)

{for(j=0;

j<

=i;

j++)

%4d"

\n"

7.程序设计(满分15分)

从键盘输入一个整数(1~20)

则以该数字为矩阵的大小,把1,2,3…n*n的数字按照顺时针螺旋的形式填入其中。

例如:

输入数字2,则程序输出:

12

43

输入数字3,则程序输出:

123

894

765

输入数字4,则程序输出:

1234

1213145

1116156

10987

程序源代码:

intval=0;

//设置全局变量val,以使每次调用f()时,所填写的值是接着上次的顺序

voidf(inti,intk,int(*farr)[20])//每调用一次函数将打印以(i,i)为正方形的左上角,k为边长的正方形框

{intc;

for(c=0;

c<

k;

c++)//写入正方形上边沿的值

farr[i][i+c]=++val;

for(c=1;

c++)//写入正方形右边沿的值

farr[i+c][i+k-1]=++val;

for(c=k-2;

c>

=0;

c--)//写入正方形下边沿的值

farr[i+k-1][i+c]=++val;

=1;

c--)//写入正方形左边沿的值

farr[i+c][i]=++val;

intn,count,arr[20][20],a,b;

Inputn:

%d"

n);

for(count=0;

count<

n/2+n%2;

count++)//n为偶数时,循环n/2次;

n为奇数时,循环1+n/2次

f(count,n-count*2,arr);

//(count,count)为每个正方形的左上角的坐标,正方形的边长为(n-count*2)

for(a=0;

a<

n;

a++)//输出已填入数据的二维数组arr[][]

{for(b=0;

b<

b++)

printf("

%-5d"

arr[a][b]);

8.程序设计(满分9分)

从键盘输入一个日期,格式为yyyy-M-d

要求计算该日期与1949年10月1日距离多少天

用户输入了:

1949-10-2

程序输出:

1

1949-11-1

31

voidmain()

intyear,month,day,y,total=0,flag=0;

intyue[2][12]={{0,31,28,31,30,31,30,31,31,30,31,30},{0,31,29,3

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

当前位置:首页 > 经管营销 > 金融投资

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

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