收藏 分销(赏)

c语言20题上机题目.doc

上传人:pc****0 文档编号:7195447 上传时间:2024-12-27 格式:DOC 页数:21 大小:94KB
下载 相关 举报
c语言20题上机题目.doc_第1页
第1页 / 共21页
c语言20题上机题目.doc_第2页
第2页 / 共21页
c语言20题上机题目.doc_第3页
第3页 / 共21页
c语言20题上机题目.doc_第4页
第4页 / 共21页
c语言20题上机题目.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、1. 计算球体积Problem Description根据输入的半径值,计算球的体积。Input输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。Output输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。Sample Input1 1.5Sample Output4.189 14.1372. 成绩转换Problem Description输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:90100为A;8089为B;7079为C;6069为D;059为E;Input输入数据有多组,每组占一行,由一个整数组成。Output对于每组输入数据,输出一行

2、。如果输入数据不在0100范围内,请输出一行:“Score is error!”。Sample Input56 67 100 123Sample OutputE D A Score is error!3. 第几天?Problem Description给定一个日期,输出这个日期是该年的第几天。Input输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。Output对于每组输入数据,输出一行,表示该日期是该年的第几天。Sample Input1985/1/20 2006/3/12Sample Output

3、20 714.求奇数的乘积Problem Description给你n个整数,求他们中所有奇数的乘积。Input输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。Output输出每组数中的所有奇数的乘积,对于测试实例,输出一行。Sample Input3 1 2 3 4 2 3 4 5Sample Output3 155. 平方和与立方和Problem Description给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。Input输入数据包含多组测试实例,每组测试实例包含一行,

4、由两个整数m和n组成。Output对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。你可以认为32位整数足以保存结果。Sample Input1 3 2 5Sample Output4 28 20 1526. 数值统计Problem Description统计给定的n个数中,负数、零和正数的个数。Input输入数据有多组,每组占一行,每行的第一个数是整数n(n100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。Output对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正

5、数的个数。Sample Input6 0 1 2 3 -1 0 5 1 2 3 4 0.5 0Sample Output1 2 3 0 0 57.多项式求和Problem Description多项式的描述如下:1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + .现在请你求出该多项式的前n项的和。Input输入数据由2行组成,首先是一个正整数m(m100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n1000),求该多项式的前n项的和。Output对于每个测试实例n,要求输出多项式前n项的和。每个测试实例的输出占一行,结果保留2位小数。Sample

6、 Input2 1 2Sample Output1.00 0.508.素数判定Problem Description对于表达式n2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39=xy=50),判定该表达式的值是否都为素数。Input输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。Output对于每个给定范围内的取值,如果表达式的值都为素数,则输出OK,否则请输出“Sorry”,每组输出占一行。Sample Input0 1 0 0Sample OutputOK9.蟠桃记Problem Description喜欢西游记的同学肯

7、定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!什么问题?他研究的问题是蟠桃一共有多少个!不过,到最后,他还是没能解决这个难题,呵呵-当时的情况是这样的:第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?Input输入数据有多组,每组占一行,包含一个正整数n(1n30),表示只剩下一个桃子的时候是在第n天发生的。Output对于每组输入数据,输出第一天开始吃的时候桃子的总数,每个测试

8、实例占一行。Sample Input2 4Sample Output4 2210.青年歌手大奖赛_评委会打分Problem Description青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。Input输入数据有多组,每组占一行,每行的第一个数是n(2n=100),表示评委的人数,然后是n个评委的打分。Output对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。Sample Input3 99 98 97 4 100 99 98 97Sample Output98.00 98.5011.求平均成绩

9、Problem Description假设一个班有n(n=50)个学生,每人考m(m=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。Input输入数据有多个测试实例,每个测试实例的第一行包括两个整数n和m,分别表示学生数和课程数。然后是n行数据,每行包括m个整数(即:考试分数)。Output对于每个测试实例,输出3行数据,第一行包含n个数据,表示n个学生的平均成绩,结果保留两位小数;第二行包含m个数据,表示m门课的平均成绩,结果保留两位小数;第三行是一个整数,表示该班级中各科成绩均大于等于平均成绩的学生数量。每个测试实例后面跟一个空行。Sampl

10、e Input2 2 5 10 10 20Sample Output7.50 15.00 7.50 15.00 112.汉字统计Problem Description统计给定文本文件中汉字的个数。Input输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。Output对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。Hint:从汉字机内码的特点考虑Sample Input2 WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa! 马上就要期末考试了Are you ready?Sample Output14 913.三角形Probl

11、em Description给定三条边,请你判断一下能不能组成一个三角形。Input输入数据第一行包含一个数M,接下有M行,每行一个实例,包含三个正数A,B,C。其中A,B,C 1000;Output对于每个测试实例,如果三条边长A,B,C能组成三角形的话,输出YES,否则NO。Sample Input2 1 2 3 2 2 2Sample OutputNO YES14.小明A+BProblem Description小明今年3岁了, 现在他已经能够认识100以内的非负整数, 并且能够进行100以内的非负整数的加法计算.对于大于等于100的整数, 小明仅保留该数的最后两位进行计算, 如果计算结

12、果大于等于100, 那么小明也仅保留计算结果的最后两位.例如, 对于小明来说:1) 1234和34是相等的2) 35+80=15给定非负整数A和B, 你的任务是代表小明计算出A+B的值.Input输入数据的第一行为一个正整数T, 表示测试数据的组数. 然后是T组测试数据. 每组测试数据包含两个非负整数A和B(A和B均在int型可表示的范围内).Output对于每组测试数据, 输出小明A+B的结果.Sample Input2 35 80 15 1152Sample Output15 6715.最小公倍数 Problem Description求最小公倍数输入一对数x,y (均为正整数)输出二者的

13、最小公倍数处理到文件结束Sample Input15 20Sample Output6016.查找最大元素 Problem Description对于输入的每个字符串,查找其中的最大字母(即相应的ASCII值最大),在该字母后面插入字符串“(max)”。Input输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。Output对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入(max)。Sample InputabcdefgfedcbaxxxxxSample Output

14、abcdefg(max)fedcbax(max)x(max)x(max)x(max)x(max)17,.整除的尾数 Problem Description一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢?Input输入数据有若干组,每组数据包含二个整数a,b(0 a 10000, 10 b 100),若遇到0 0则处理结束。Output对应每组数据,将满足条件的所有尾数在一行内输出,格式见样本输出。同组数据的输出,其每个尾数之间空一格,行末没有空格。Sample Input200 401992 950 0Sample Output00 40 801518.计

15、算两点间的距离Problem Description输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。Input输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。Output对于每组输入数据,输出一行,结果保留两位小数。Sample Input0 0 0 1 0 1 1 0Sample Output1.00 1.4119.数据的交换输出Problem Description输入n(n100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。Input输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值

16、的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。Output对于每组输入数据,输出交换后的数列,每组输出占一行。Sample Input4 2 1 3 4 5 5 4 3 2 1 0Sample Output1 2 3 4 1 4 3 2 520.首字母变大写Problem Description输入一个英文句子,将每个单词的第一个字母改成大写字母。Input输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。Output请输出按照要求改写后的英文句子。Sample Inputi like acm i want to get an acceptedSamp

17、le OutputI Like Acm I Want To Get An Accepted答案:1.#includeint main()double r,V,pi; while(scanf(%lf,&r)!=EOF) pi=3.1415927; V=(4.0/3)*pi*r*r*r; printf(%.3lfn,V); return 0;2.#includeint main()int a,s; while(scanf(%d,&a)!=EOF) if(a100|a0) printf(Score is error!n); else s=a/10; switch(s) case 0: case 1:

18、 case 2: case 3: case 4: case 5:printf(En);break; case 6:printf(Dn);break; case 7:printf(Cn);break; case 8:printf(Bn);break; case 9: case 10:printf(An);break; return 0;3.#includevoid main()int months12=0,31,28,31,30,31,30,31,31,30,31,30; int year, month,day; int flag,i; int sum; while(scanf(%d/%d/%d

19、,&year,&month,&day)!=EOF) sum=0; for( i=0;imonth;i+) sum+=monthsi; if(year%4=0)|(year%100!=0&year%400=0) flag=1; else flag=0; sum=sum+day+flag; printf(%dn,sum); 4.#includemain() int n,a,p; while(scanf(%d,&n)!=EOF) p=1; while(n-) scanf(%d,&a); if(a%2=1) p=p*a; printf(%dn,p); 5.#includeint main() int

20、a,b,i,p,l,t; while(scanf(%d%d,&a,&b)!=EOF) if(ab) t=a; a=b; b=t; l=p=0; for(i=a;i=b;i+)这里第二个i被我写成了a T0T if(i%2=0) p=p+i*i; else l=l+i*i*i; printf(%d %dn,p,l); return 0;6.#includemain() int n,x,i,a,b,c; while(scanf (%d,&n)!=EOF) a=0;b=0;c=0; for (i=0;in;i+) scanf (%d,&x); if (x0) c+; printf (%d %d %d

21、n,a,b,c); 7.#include #include int main()int n,m,i,j;float s100;scanf(%d,&m); for(i=0;im;i+) si=0; scanf(%d,&n);for(i=0;im;i+) for(j=1;j=n;j+) si=si+(pow(-1),(j+1)/j);for(i=0;im;i+)printf(%.2lfn,si);return 0;8.#include#include#includeint a3001;main() int n,x,y,i,j,f; for(i=2;i=3000;i+) ai=1; for(i=2;

22、i=3000;i+) if(1=ai) for(j=i+1;jy)n=x;x=y;y=n; for(n=x;n=y;n+) if(!an*n+n+41) f=1; break; if(!f) printf(OKn); else printf(Sorryn); 9.#include int main(void) int n,sum,i; while(scanf(%d,&n)!=EOF) sum=1; for(i=1;in;i+) sum=(sum+1)*2; printf(%dn,sum); return 0;10.#include#includeint main() int n,i; floa

23、t a100,sum,av,max,min; while(scanf(%d,&n)!=EOF) sum=0;av=0; for(i=0;in;i+) scanf(%f,&ai); max=min=a0; for(i=0;imax) max=ai; if(aimin) min=ai; sum+=ai; av=(sum-min-max)/(n-2); printf(%.2fn,av); return 0; 11.#include #include #include int main()int m,n,i,j; double avg_r51, avg_k6, sum_r51, sum_k6; int

24、 s516; while(scanf(%d %d, &n,&m) if(!(n & m) printf(0.00n0.00n0nn); continue; int t = 0; for(i = 0; i n; +i) sum_ri = 0; for(j = 0; j m; +j) scanf(%d, &sij); sum_ri += sij; avg_ri = sum_ri / m; for(j = 0; j m; +j) sum_kj = 0; for(i = 0; i n; +i) sum_kj += sij; avg_kj = sum_kj / n; for(i = 0; i n; +i

25、) int flag = 1; for(j = 0; j m; +j) if(sij avg_kj) flag = 0; break; if(flag) t+; for(i = 0; i n - 1; +i) printf(%.2lf , avg_ri); printf(%.2lfn, avg_ri); for(j = 0; j m - 1; +j) printf(%.2lf ,avg_kj); printf(%.2lfn, avg_kj); printf(%dnn, t); return 0;12.#include#includechar str100001;int main() int c

26、ases; scanf(%dn,&cases); while(cases-) gets(str); int len=strlen(str); int num=0; for(int i=0;i=len;i+) if(stri0&stri+10) if(stri+1=0) break; num+; i+; printf(%dn,num); return 0;13.#include int main()int M,i;double A,B,C;scanf(%d,&M);for(i=0;iC & A+CB & B+CA)printf(YESn);else printf(NOn);return 0;14

27、.#include stdio.hmain() int t; int n,m; scanf(%d,&t); while(t-) scanf(%d%d,&n,&m); printf(%dn,(n+m)%100); 15.#include void main() int m,n,a,b,r=1; while(scanf(%d%d,&m,&n)!=EOF) a=m;b=n; while(n!=0) r=m%n; m=n; n=r; printf(%dn,a/m*b); 16.#include void func(const char *str) const char *p; char max = *

28、str; for (p = str + 1; *p != 0; +p) if (*p max) max = *p; for (p = str; *p != 0; +p) printf(%c, *p); if (*p = max) printf(max); printf(n);int main() char str101; while (scanf(%n%*c, str) != EOF) func(str); return 0;17.#include int main()int a, b, m, t; while (scanf(%d%d, &a, &b) != EOF & b != 0) a *

29、= 100; if (a % b = 0) m = a; else m = (a / b + 1) * b; t = m - a; printf(%02d, t); t += b; while (t 100) printf( %02d, t); t += b; printf(n); return 0;18.#include#includemain() double x1,y1,x2,y2; while(scanf(%lf %lf %lf %lf,&x1,&y1,&x2,&y2)!=EOF) printf(%.2lfn,sqrt(pow(x1-x2),2)+pow(y1-y2),2);19.#i

30、nclude#includemain() int n,i,a100,m,f,t; while(scanf(%d,&n)&n) f=0; scanf(%d,&a0); m=a0; for(i=1;i=ai) m=ai;f=i; t=af; af=a0; a0=t; printf(%d,a0); for(i=1;in;i+) printf( %d,ai); printf(n); 20.#include#include#includemain() char a101,l; while(scanf(%s,a)!=EOF) l=getchar(); a0-=32; printf(%s,a); if(l=n) printf(n); else printf( );

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服