C训练4(含答案初级).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C训练4(含答案初级)

C程序设计训练4 〖问题1〗有n个人各拿一只桶,同时到一水龙头前打水,水龙头注懑第i (=1,2,。。。。,n)个人的桶所需时间为Ti分钟(这些Ti各不相同)。编写一个程序,对这n个人进行排队,使他们花费时间的总和为最小,并求出这个时间。 答案:测试数据:n=4 3, 12, 5 , 8 总时间:55 测试数据:n=5 2,6,15,8,5 总时间:79 〖问题 2〗有10个单词存放在一维指针数组words中,编写一个程序,根据用户的输入从前向后找出所有与之匹配的单词和个数。例如:输入单词em,从数组中找出以em开头的的所有单词。 〖问题3〗在A,B两个城市之间设有N个路站(如下图中的S1,且N100),城市与路站之间、路站和路站之间各有若干条路段(各路段数≤20,且每条路段上的距离均为一个整数)。A,B的一条通路是指:从A出发,可经过任一路段到达S1,再从S1出发经过任一路段,…最后到达B。通路上路段距离之和称为通路距离(最大距离≤1000)。 当所有的路段距离给出之后,求出所有不同距离的通路个数(相同距离仅记一次)。 例如:下图所示是当N=1时的情况: 从A到B的通路条数为6,但因其中通路5+5=4+6,所以满足条件的不同距离的通路条数为5。 算法说明:本题采用穷举算法。 数据结构:N:记录A,B间路站的个数数组D(I,0)记录第I-1到第I路站间路段的个数 D(I,1),D(I,2),…记录每个路段距离 数组G记录可取到的距离 #include stdio.h void main() { int a,b,c,d; int c1,c2,c3,c4,c5; for (a=0;a=1;a++) for (b=0;b=1;b++) for (c=0;c=1; c++) for (d=0;d=1; d++) { c1=a|b; c2=b|c; c3=c|d; c4=!a|!c; c5=!b|!d; if (c1c2c3c4c5) { if (a) printf(“A是盗窃犯\n”); if (b) printf(“B是盗窃犯\n”); if (c) printf(“C是盗窃犯\n”); if (d) printf(“D是盗窃犯\n”); } } } (B是盗窃犯 C是盗窃犯) 〖问题 5〗编写一个程序,求方程ax2+bx+c=0的根。 要求:程序可以任意输入a,b,c的值,打印输出根的值。 答案:方程系数:3.5, 2.3, 4.8 方程系数:2,4,2 无实根。 一个根:x=-1 方程系数:2.5, 3.6, -2 两个根:x1=0.428216, x2=-1.86822 main() { int i,n; float s=0; printf(enter n:); scanf(%d,n); for(i=0;in;i++) { printf(%time:,i+1); scanf(%f,t[i]); } bubble(t,n); for(i=0;in;i++) {s=s+t[i]*(n-i); printf(%f ,t[i]); } printf(\ntotal:%g\n,s); getch(); } #include stdio.h #define MAX 100 float t[MAX]; bubble(float item[],int n) { int i,j; float temp; for (i=0;in-1;i++) for(j=0;j(n-i-1);j++) { if (item[j]item[j+1]) { temp=item[j]; item[j]=item[j+1]; item[j+1]=temp; } } }

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档