《程序设计基础(内蒙古师范大学oj题)剖析》由会员分享,可在线阅读,更多相关《程序设计基础(内蒙古师范大学oj题)剖析(55页珍藏版)》请在金锄头文库上搜索。
1、十进制到六进制(1435)Description 进制转换: 将十进制(不超过int类型表示的范围)的数转换为六进制的数。 Input 输入为第一行是组数n,后面n行是需要进制转换的十进制数。Output 进制转换后的n行六进制数。Sample Input 31346265Sample Output 211141121Source#includeint main()int a,b1000,i,j,n,m;while(scanf(%d,&n)!=EOF)while(n-)scanf(%d,&a);for(i=0;a0;i+)bi=a%6;a=a/6;for(j=i-1;j=0;j-)printf
2、(%d,bj);printf(n);return 0;母牛的故事(1128)Time Limit:100MS Memory Limit:65536KTotal Submit:4414 Accepted:1688 Description 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?Input 输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0n55),n的含义如题目中描述。 n=0表示输入数据的结束,不做处理。 Output 对于每个测试实例,输出在第n年的时候母牛的数量。 每个输出占一行。Sa
3、mple Input 2450Sample Output 246#includeint main()int a100,i,n;a1=1;a2=2;a3=3;a4=4;for(i=5;i=55;i+)ai=ai-1+ai-3;while(scanf(%d,&n)!=EOF)if(n=0)break;printf(%dn,an);return 0;评委会打分(1607)Time Limit:1000MS Memory Limit:65536KTotal Submit:1663 Accepted:683 Description 青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一
4、个最低分,然后计算平均得分,请编程输出某选手的得分。 Input 输入数据有多组,每组占一行,每行的第一个数是n ,n大于2且小于等于100,表示评委的人数,然后是n个评委的打分,分数都是整数。 Output 对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。Sample Input 3 99 98 974 100 99 98 97Sample Output 98.0098.50#includeint main()double a100,n,max,min,ave;int i;while(scanf(%lf,&n)!=EOF)for(i=0;in;i+)scanf(%lf,&
5、ai);max=a0;min=a0;ave=a0;for(i=1;imax)max=ai;if(aimin)min=ai;ave=ave+ai;ave=ave-max-min;n=n-2;printf(%.2lfn,ave/n);return 0;陶陶摘苹果(1263)Time Limit:1000MS Memory Limit:65536KTotal Submit:2869 Accepted:1783 Description 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上
6、再试试。 现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。 Input 输入用例包括两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。Output 输出结果包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。Sample Input 100 200 150 140 1
7、29 134 167 198 200 111110Sample Output 5#includeint main()int a11,n,i,j=0;for(i=0;i10;i+)scanf(%d,&ai);scanf(%d,&n);for(i=0;i10;i+)if(ai=n+30)j+;printf(%d,j);return 0;矩阵(1890)Time Limit:1000MS Memory Limit:65536KTotal Submit:375 Accepted:172 Description 我们把N*N矩阵左上角的第一个元素a11定义为第一层, 把a12,a21,a22定义为第二层
8、, 依次,第三层,第四层.直到第 N 层。 每一层的数字都相同而且数值上等于层数。 现在给定一个正整数n,(1=n=1000),输出对应矩阵 每一组输出之后再输出一个空行 Input 1 2 5 Output 1 1 2 2 2 1 2 3 4 5 2 2 3 4 5 3 3 3 4 5 4 4 4 4 5 5 5 5 5 5 Sample Input nSample Output 输出对应的n*n阶矩阵Hint 1 2 3 4 5 6 2 2 3 4 5 6 3 3 3 4 5 6 4 4 4 4 5 6 5 5 5 5 5 6 6 6 6 6 6 6#includeint main()in
9、t i,n,k,l;while(scanf(%d,&n)!=EOF)for(i=1;i=n;i+)for(k=1;k=i;k+)printf(%d ,i);for(l=i+1;l=n;l+)printf(%d ,l);printf(n);printf(n);return 0; 逆序数字(1282)Time Limit:1000MS Memory Limit:65536KTotal Submit:2904 Accepted:1559 Description 编写一个函数,接收一个整数值,返回这个数中数字逆序后的结果值。例如,给定数7631,函数返回1367. Input 第一行一个正整数T(T=
10、10),表示有T组测试数据; 以下T行,每行一个非负的整数N。 Output 共T行,对于每组输入数据输出一行,即数字逆序后的结果值。 Sample Input 3 7631 101 51Sample Output 1367 101 15 #include#includeint main()int n,i,j,t;char a100;while(scanf(%d,&t)!=EOF)for(i=1;i=0;j-)printf(%c,aj);printf(n);打印菱形(1895)Description 用*打印对应边长的空心菱形具体如样例 Input 菱形边长n, n =100Output 对应
11、菱形 每组输出之后再输出空行 Sample Input 35Sample Output * * * * * * * * * * * * * * * * * * * * * *#includeint main()int n,i,j;while(scanf(%d,&n)!=EOF)for(i=1;i=n;i+)for(j=1;j=n-i;j+)printf( );for(j=1;j=i;)printf(*);j=j+i;for(j=n-i+4;j1)printf(*);printf(n);for(i=n-1;i=1;i-)for(j=1;j=n-i;j+)printf( );for(j=1;j=i;)printf(*);j=j+i;for(j=n-i+4;j1)printf(*);printf(n);printf(n);return 0;收入统计(1141)Time Limit:1000MS Memory Limit: