c语言竞赛题目精选.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
********************************************************************* 1、过滤出1--10000之间所有相邻两位数相同的,比如12336等过滤掉,剩下的数据输出并计算个数。 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:拍照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;并使数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索编程求出车号。 一辆汽车加满油后,可行使n千米。旅途中有若干个加油站。若要使沿途加油次数最少,设计一个有效算法,对于给定的n和k个加油站位置,指出应在那些加油站停靠加油才能使加油次数最少。输入数据中,第一行有2个正整数,分别表示汽车加满油后可行使n千米,且旅途中有k个加油站。接下来的1行中,有k+1个整数,表示第k个加油站与第k-1个加油站之间的距离。第0个加油站表示出发地,汽车已加满油。第k+1个加油站表示目地地。输出为最少的加油次数,如果无法到达目的地,则输出“No Solution”。 提示: 把两加油站的距离放在数组中,a[1..k]表示从起始位置开始跑,经过k个加油站,a[i]表示第i-1个加油站到第i个加油站的距离。汽车在运行的过程中如果能跑到下一个站则不加油,否则要加油。 输入数据示例 7 7 1 2 3 4 5 1 6 6 输出数据 4 在一个黑袋中共有m个白球和n个黑球(m,n0),袋外还有一些白球。每次随机从袋中取出两球,若取出的球颜色相同,则放回一白球;若取出两球颜色不同,则放回一黑球,直到取完(取出最后两球不放回)。请编程求多少种取法,并说明最后两球的颜色。(用递归方法求解) 一个长1000单元的数组,每单元按序列放数据,(从0单元开始一次放入1,2,3,...,1000),输入m,n,m表示从m单元开始取出长度n的数据,插入到0单元前面,0到m-1单元一次后移到取出数据位置,经过连续k次操作后,每次m,n数据不同,最后输出这1000单元数组中的数据。 输入数据示例(3表示k=3,以下三行是m,n的值)。 3 9,8 18,9 100,89 ******************************************************************************* 第二题: 用迭代法求2的平方根 double n=2; double a=0; double b=n; while(fabs(a-b)1E-15) { a=(a+b)/2; b=________; } printf(%f\n,a); 第五题:轮转数(每个字符依次向右移) 例: 字符串abcd 经过一次轮转后为dabc 此时位移记作1 字符串abcd 进过两次轮转后为 cdab 此时位移记作2 以下代码为求字符串S,经过n次位移后的新字符串 void shift(char *s,int n) { char *p; char *q; int len=strlen(s); if(len==0) return; char *s2=(char *)malloc(_______); p=s; q=s2+n%len; while(*p) { *q++=*p++; if((q-s2)=len) { *q=_____; q=s2; } } strcpy(s,s2); free(s2); } 第六题: 金字塔数 space 为塔底边距离左边的空白长度 x 塔底中心字母 例:当space=0,x=C 输出: A ABA ABCBA 当space=2,x=E A ABA ABCBA ABCDCBA ABCDEDCBA void h(int space,char x) { int i; if(xA||xZ) return; _________________; for(i=0;ispace;i++) printf( ); for(i=0;ix-A;i++) printf(%c,A+i); for(i=0;i=x-A;i++) printf(%c____); printf(\n); } 第七题:中奖计算 函数返回所中的最大连续数字的个数 int g(int a,int b) { char sa[] char sb[] int n; int i,j; sprintf(sa,%8d,a); sprintf(sb,%8d,b); for(i=0;i8;i++) { for(j=1;j=8-i;j++) {

文档评论(0)

hong333666 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档