77范文网 - 专业文章范例文档资料分享平台

c语言参考题目-填空题(2)

来源:网络收集 时间:2019-04-09 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

下面的程序统计出0或1最大连续出现的次数。试完善之。

char* p = \ int len = strlen(p); int max_k = 1; int k = 1;

for(int i=1; i

printf(\

if(p[i]==p[i-1]) { }

__max_k=max_k>k?max_k:k_______________________; k = 1; k++; else

13. 代码填空

形如:“abccba”,“abcba”的串称为回文串,下列代码判断一个串是否为回文串。请补充空白的部分。

char buf[] = \ int x = 1;

for(int i=0; i

if(_____buf[i]!=buf[strlen(buf)-i-1]______________) { }

x = 0; break;

printf(\是\否\

14. 代码填空

计算3个A,2个B可以组成多少种排列的问题(如:AAABB, AABBA)是《组合数学》的研究领域。但有些情况下,也可以利用计算机计算速度快的特点通过巧妙的推理来解决问题。下列的程序计算了m个A,n个B可以组合成多少个不同排列的问题。请完善它。

int f(int m, int n) { }

if(m==0 || n==0) return 1;

return ____ (m+n)!/(m!)/(n!) ___________________; f(m-1,n)+f(n-1,m)

第 6/9 页

15. 代码填空

因数分解是十分基本的数学运算,应用广泛。下面的程序对整数n(n>1)进行因数分解。比如,n=60, 则输出:2 3 5 2。请补充缺失的部分。

void f(int n) { }

for(int i=2; i

if(n>1) printf(\

while(n%(i)==0)____________________ { }

printf(\n = n / i;

16. 代码填空

下列代码实现把一个串“轮换”拷贝。既是:把\拷贝为:\。请补充缺少的语句。

char* p = \

char* q = (char*)malloc(strlen(p)+1);

for(int i=0, int len=strlen(p); i

q[i] = p[i+1]; q[len-1] = p[0];

____q[len]=’\\0’ _________________; printf(\

17. 代码填空

穷举法是计算机解决某些问题的重要手段。为了估算可能性的数目,经常需要计算组合或排列的数目,下面的代码输出从m个物体中任取出n个物体的不同方案的数目(此处假设:m, n>1 且 m>=n)。试完善之。

int f(int m, int n) {

int a = 1; int m1 = m;

_while(m1>1)_____________ a *= m1--;

第 7/9 页

}

int b = 1; while(n>1)

b *= n--; return a / b;

18. 代码填空

任意给定一个4位数(不能所有位都相同),比如:3278,重新组合出最大数:8723,再重新组合出最小数:2378,相减,得到新的4位数(如不足则补0),重复这个过程,最后必然得到一个数字:6174。这个现象被称为:数字黑洞。下面的函数实现由给定的4位整数求出下一个整数的功能。请完善之。

int f(int n) {

int N[4];

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

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

for(int j=0; j<3-i; j++)

if(N[j]>N[j+1]) { }

int t = N[j+1]; N[j+1] = N[j]; N[j] = t;

N[3-i] = n % 10;

_n=n/10__________________;

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

n_min = n_min * 10 + N[i] ; // int n_max = 0; for(i=3; i>=0; i--)

return n_max-n_min; }

n_max = n_max * 10 + N[i];

19. 代码填空

第 8/9 页

公交车票价为5角。假设每位乘客只持有两种币值的货币:5角、1元。再假设持有5角的乘客有m人,持有1元的乘客有n人。由于特殊情况,开始的时候,售票员没有零钱可找。我们想知道这m+n名乘客以什么样的顺序购票则可以顺利完成购票过程。显然,m < n的时候,无论如何都不能完成,m >=n的时候,有些情况也不行。比如,第一个购票的乘客就持有1元。下面的程序计算出这m+n名乘客所有可能顺利完成购票的不同情况的组合数目。注意:只关心5角和1元交替出现的次序的不同排列,持有同样币值的两名乘客交换位置并不算做一种新的情况来计数。

//m: 持有5角币的人数 //n: 持有1元币的人数

//返回:所有顺利完成购票过程的购票次序的种类数 int f(int m, int n) { if(m < n) return 0; if(n==0) return 1;

return ______ f(m-1,n)+f(m,n-1)_________________;

}

第 9/9 页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库c语言参考题目-填空题(2)在线全文阅读。

c语言参考题目-填空题(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/582825.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: