ACM简单例题.docVIP

  • 93
  • 0
  • 约15.38万字
  • 约 31页
  • 2016-09-13 发布于河南
  • 举报
ACM简单例题

ACM简单例题 鸡兔同笼 查看文章 C程序设计基础-鸡兔同笼2009-10-26 18:12问题描述 一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外)。已经知道了笼子里面脚的总数 a,问笼子里面至少有多少只动物,至多有多少只动物 输入 第 1 行是测试数据的组数 n,后面跟着 n 行输入。每组测试数据占 1 行,包括一个正整数 a (a 32768)。 输出 n 行,每行输出对应一个输入。输出是两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用空格分开。如果没有满足要求的情况出现,则输出 2 个 0。 输入样例 2 3 20 输出样例 0 0 5 10 源代码: #include stdio.h void main( ) { int n, i, nFeet; scanf(%d, n); for(i = 0; i n; i++) { scanf(%d, nFeet); if(nFeet %2 != 0) printf(0 0\n); else if (nFeet%4 != 0) printf(%d %d\n, nFeet / 4 + 1, nFeet / 2); else printf(%d %d\n, nFeet / 4, nFeet / 2); } } 查看文章 C程序设计基础-评委会打分2009-10-30 19:18问题描述 青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。 输入 输入数据有多组,每组占一行,每行的第一个数是n(2n100),表示评委的人数,然后是n个评委的打分。 输出 对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。 输入样例 3 99 98 97 4 100 99 98 97 输出样例 98.00 98.50 源代码 正确版本: #include stdio.h void main() { int n,i; float sum,ave,m,max,min; while((scanf(%d,n))!=EOF) { scanf(%f,m); max=min=sum=m; for (i=1;in;i++) { scanf(%f,m); sum=sum+m; if (mmax) { max=m; } else if (mmin) { min=m; } } ave=(sum-max-min)/(n-2); printf(%1.2f\n,ave); } } 错误版本: #include stdio.h void main() { int n,i; float sum,ave,m,max,min; while((scanf(%d,n))!=EOF) { scanf(%f,m); max=min=sum=m; for (i=1;in;i++) { scanf(%f,m); sum=sum+m; if (mmax) { max=m; } else { min=m; } } ave=(sum-max-min)/(n-2); printf(%1.2f\n,ave); } } 这是我第一次做该题时犯下的错误。该段程序中的if,else语句块存在逻辑错误,没有想清楚m值与最大值、最小值如何进行比较,就匆忙写代码。 查看文章 C程序设计基础-多项式求和2009-10-30 19:24问题描述 多项式的描述如下: 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ... 现在请你求出该多项式的前n项的和。 输入 输入数据由2行组成,首先是一个正整数m(m100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n1000),求该多项式的前n项的和。 输出 对于每个测试实例n,要求输出多项式前n项的和。每个测试实例的输出占一行,结果保留2位小数。 输入样例 2 1 2 输出样例 1.00 0.50 源代码 正确版本: 01.#include stdio.h 02.main() 03.{ 04.int m,n,i,j,k; 05.double s; 06.scanf(%d,m); 07.for (i=1;i=m;i++) 08. { 09. scanf(%d,n); 10. s=0; 11. for (j=1;j=n;j++) 12. {

文档评论(0)

1亿VIP精品文档

相关文档