程序设计基础内蒙古师范大学OJ题.docx
- 文档编号:7890426
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:51
- 大小:24.56KB
程序设计基础内蒙古师范大学OJ题.docx
《程序设计基础内蒙古师范大学OJ题.docx》由会员分享,可在线阅读,更多相关《程序设计基础内蒙古师范大学OJ题.docx(51页珍藏版)》请在冰豆网上搜索。
程序设计基础内蒙古师范大学OJ题
十进制到六进制(1435)
Description
进制转换:
将十进制(不超过int类型表示的范围)的数转换为六进制的数。
Input
输入为第一行是组数n,后面n行是需要进制转换的十进制数。
Output
进制转换后的n行六进制数。
SampleInput
3
13
46
265
SampleOutput
21
114
1121
1/55
Source
#include
intmain()
{
inta,b[1000],i,j,n,m;
while(scanf("%d",&n)!
=EOF)
{
while(n--)
{
scanf("%d",&a);
for(i=0;a>0;i++)
{
b[i]=a%6;
a=a/6;
}
for(j=i-1;j>=0;j--)
printf("%d",b[j]);
printf("\n");
}
}
return0;
}
2/55
母牛的故事(1128)
TimeLimit:
100MSMemoryLimit:
65536K
TotalSubmit:
4414Accepted:
1688
Description
有一头母牛,它每年年初生一头小母牛。
每头小母牛从第四个年头开始,每年年初也生一头小母牛。
请编程实现在第n年的时候,共有多少头母牛?
Input
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n≤55),
n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。
Output
对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。
SampleInput
2
4
5
0
SampleOutput
2
4
6
3/55
#include
intmain()
{
inta[100],i,n;
a[1]=1;
a[2]=2;
a[3]=3;
a[4]=4;
for(i=5;i<=55;i++)
a[i]=a[i-1]+a[i-3];
while(scanf("%d",&n)!
=EOF)
{
if(n==0)
break;
printf("%d\n",a[n]);
}
return0;
}
4/55
评委会打分(1607)
TimeLimit:
1000MSMemoryLimit:
65536K
TotalSubmit:
1663Accepted:
683
Description
青年歌手大奖赛中,评委会给参赛选手打分。
选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
Input
输入数据有多组,每组占一行,每行的第一个数是n,n大于2且小于等于100,表示评委的人数,然后是n个评委的打分,分数都是整数。
Output
对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。
SampleInput
3999897
4100999897
SampleOutput
98.00
98.50
5/55
#include
intmain()
{
doublea[100],n,max,min,ave;
inti;
while(scanf("%lf",&n)!
=EOF)
{
for(i=0;i scanf("%lf",&a[i]); max=a[0]; min=a[0]; ave=a[0]; for(i=1;i { if(a[i]>max) max=a[i]; if(a[i] min=a[i]; ave=ave+a[i]; } ave=ave-max-min; n=n-2; printf("%.2lf\n",ave/n); }return0; } 6/55 陶陶摘苹果(1263) TimeLimit: 1000MSMemoryLimit: 65536K TotalSubmit: 2869Accepted: 1783 Description 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。 苹果成熟的 时候,陶陶就会跑去摘苹果。 陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高 度,请帮陶陶算一下她能够摘到的苹果的数目。 假设她碰到苹果,苹果就会掉下来。 Input 输入用例包括两行数据。 第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。 第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。 Output 输出结果包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。 SampleInput 100200150140129134167198200111 110 SampleOutput 5 7/55 #include intmain() { inta[11],n,i,j=0; for(i=0;i<10;i++) scanf("%d",&a[i]); scanf("%d",&n); for(i=0;i<10;i++) { if(a[i]<=n+30) j++; } printf("%d",j); return0; } 8/55 矩阵(1890) TimeLimit: 1000MSMemoryLimit: 65536K TotalSubmit: 375Accepted: 172 Description 我们把N*N矩阵左上角的第一个元素a[1][1]定义为第一层, 把a[1][2],a[2][1],a[2][2]定义为第二层,依次,第三层,第四层...直到第N层。 每一层的数字都相同而且数值上等于层数。 现在给定一个正整数n,(1<=n<=1000),输出对应矩阵每一组输出之后再输出一个空行 Input 1 2 5 Output 1 12 22 12345 22345 33345 44445 55555 SampleInput n SampleOutput 9/55 输出对应的n*n阶矩阵 Hint 123456 223456 333456 444456 555556 666666 #include intmain() { inti,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"); } return0; } 10/55 逆序数字(1282) TimeLimit: 1000MSMemoryLimit: 65536K TotalSubmit: 2904Accepted: 1559 Description 编写一个函数,接收一个整数值,返回这个数中数字逆序后的结果值。 例如,给定数7631,函数返回1367. Input 第一行一个正整数T(T<=10),表示有T组测试数据;以下T行,每行一个非负的整数N。 Output 共T行,对于每组输入数据输出一行,即数字逆序后的结果值。 SampleInput 3 7631 101 51 SampleOutput 1367 101 15 11/55 #include #include intmain() { intn,i,j,t; chara[100]; while(scanf("%d",&t)! =EOF) { for(i=1;i<=t;i++) { scanf("%s",a); getchar(); n=strlen(a); for(j=n-1;j>=0;j--) printf("%c",a[j]); printf("\n"); } } } 12/55 打印菱形(1895) Description 用*打印对应边长的空心菱形具体如样例 Input 菱形边长n,n<=100 Output 对应菱形 每组输出之后再输出空行 SampleInput 3 5 SampleOutput * ** ** ** * * ** ** ** ** ** ** ** * 13/55 #include intmain() { intn,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;j<=n+i;j=j+1) printf(""); if(i>1) 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;j<=n+i;j=j+1) printf(""); if(i>1) printf("*"); printf("\n"); } printf("\n"); } return0; } 14/55 收入统计(1141) TimeLimit: 1000MSMemoryLimit: 65536K TotalSubmit: 2110Accepted: 949 Description 一个马戏团来呼和浩特演出,n个座位全部坐满,全部门票收入是120元,现在知道,男人每人5元,女人每人2元,小孩每人1角。 现在请您编程帮助马戏团经理统计一下,n个座位中男人、女人和小孩的数目。 Input 由键盘输入至少一组测试数据,并且每一组测试数据是由整数n单独构成的一 行,n表示输入的总人数。 Output 对每一组测试数据,输出满足要求的男人、女人和小孩人数的全部方案(每种方案各占一行,人数间用英文状态下的逗号分隔)。 若n人无法满足条件,则输出"Nooutput"(双引号内的部分为输出部分)。 SampleInput 60 SampleOutput 0,60,0 19,11,30 15/55 #include"stdio.h" intmain() { intn,m,s,i,p,b;doublea; while(scanf("%d",&n)! =-1) {p=0; for(i=0;i<=24;i++) { for(s=0;s<=n;s++) { a=(double)n-i-s; if(120==a/10+s*2+i*5) { printf("%d,%d,%.0lf\n",i,s,a);p=1; } } } if(p==0){puts("Nooutput");} } return0; } 16/55 九九乘法表(1892) Description 小时候学过的九九乘法表也许将会扎根于我们一生的记忆,现在让我们重温那些温暖的记忆,请编程输出九九乘法表. Input 第一有一个整数N,表示有N组数据(N<10)接下来由N行,每行只有一个整 数M(1<=M<=9); Output 对应每个整数M,根据要求输出乘法表的前N行,具体格式参见输入输出样例和上图.每两组测试数据结果之间有一个空行隔开,具体如输出样例。 SampleInput 3 2 1 5 SampleOutput 1*1=11*2=21*3=31*4=41*5=51*6=61*7=71*8=81*9=92*2=42*3=62*4=82*5=102*6=122*7=142*8=162*9=18 1*1=11*2=21*3=31*4=41*5=51*6=61*7=71*8=81*9=9 1*1=11*2=21*3=31*4=41*5=51*6=61*7=71*8=81*9=92*2=42*3=62*4=82*5=102*6=122*7=142*8=162*9=183*3=93*4=123*5=153*6=183*7=213*8=243*9=274*4=164*5=204*6=244*7=284*8=324*9=365*5=255*6=305*7=355*8=405*9=45 17/55 #include intmain() { inta,b,c,d,i,j; while(scanf("%d",&a)! =EOF) { while(a--) { scanf("%d",&b); for(i=1;i<=b;i++) { for(j=i;j<=9;j++) printf("%d*%d=%d",i,j,i*j); printf("\n"); } printf("\n"); } } } 18/55 制作数字三角形(1422) TimeLimit: 1000MSMemoryLimit: 65536K TotalSubmit: 1212Accepted: 802 Description 现在要用一组连续的数字,制作出一个近似倒直角三角形的形状,并用A表示 开始的数字,B表示高度。 Input 第一行有两个正整数A,B(A,B均小于10)。 Output 输出对应的数字三角形,每个数字之间空1个空格。 SampleInput 73 24 SampleOutput 789 1011 12 2345 678 910 11 19/55 #include intmain() { inti,b,a,j; while(scanf("%d%d",&a,&b)! =EOF) { for(i=b;i>=1;i--) { for(j=1;j<=i;j++) { printf("%d",a); a++; } printf("\n"); } } } 20/55 求素数的和(2011) TimeLimit: 1000MSMemoryLimit: 65536K TotalSubmit: 845Accepted: 319 Description 求m-n范围内所有素数的和(1<=m<=n<1000) Input 输入多组数据,每组中有两个整数m,n(1<=m<=n<1000) Output 输出数据为一个整数,每个结果对应一行。 SampleInput 29 100500 SampleOutput 17 20476 21/55 #include intmain() { inti,m,n,j,s; while(scanf("%d%d",&m,&n)! =EOF) { for(s=0,i=m;i<=n;i++) { for(j=2;j*j<=i;j++) { if(i%j==0) break; } if(j*j>i) s=s+i; } if(m==1) printf("%d\n",s-1); else printf("%d\n",s); } } 22/55 最大公约数(初级)(1410) TimeLimit: 1000MSMemoryLimit: 65536K TotalSubmit: 3561Accepted: 1834 Description 给定两个正整数,求它们的最大公约数。 Input 有多组数据,每行为两个正整数,且不超过int可以表示的范围。 Output 行对应输出最大公约数。 SampleInput 48 86 200300 SampleOutput 4 2 100 23/55 #include intmain() { inti,m,n,x; while(scanf("%d%d",&m,&n)! =EOF) { if(m>n) x=n; if(m x=m; for(i=x;i>=1;i--) { if(n%i==0&&m%i==0) break; } printf("%d\n",i); } } 24/55 最小公倍数(初级)(1411) TimeLimit: 1000MSMemoryLimit: 65536K TotalSubmit: 3144Accepted: 1847 Description 给定两个正整数,求它们的最小公倍数。 Input 有多组数据,每行为两个正整数,且不超过int可以表示的范围。 Output 每行对应输出最小公倍数。 SampleInput 1121 2535 4454 SampleOutput 231 175 1188 25/55 #include intmain() { inti,m,n,x; while(scanf("%d%d",&m,&n)! =EOF) { if(m x=n; else x=m; for(i=x;i<=n*m;i++) if(i%n==0&&i%m==0) break; printf("%d\n",i); } return0; } 26/55 平方和与立方和(1457) TimeLimit: 1000MSMemoryLimit: 65536K TotalSubmit: 2930Accepted: 794 Description 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。 Input 输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。 Output 对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。 你可以认为32位整数足以保存结果。 SampleInput 13 25 SampleOutput 428 20152 27/55 #include intmain() { inti,x,y,m,n,s,sum; while(scanf("%d%d",&m,&n)! =EOF) { if(m>n) { x=n; y=m; } if(m { x=m; y=n; } for(i=x,s=0,sum=0;i<=y;i++) { if(i%2==0) s=s+i*i; else sum=sum+i*i*i; } printf("%d%d\n",s,sum); } return0; } 28/55 斐波那契数列皇子会说话(2064) Description 从前,有一个斐波那契数列皇子, 皇子啊! ! ! 他与别的斐波那契数列不同,他长这样: F(0)=7,F (1)=11,F(n)=F(n-1)+F(n-2)(n>=2). 对于任意整数n,当满足F(n)能被3整除是,皇子会大喊: yes,不然他就会喊: no Input Inputconsistsofasequenceoflines,eachcontaininganintegern.(n<1,000,000). Output Printtheword"yes"if3divideevenlyintoF(n). Printtheword"no"ifnot. SampleInput 0 1 2 3 4 5 SampleOutput no no yes no no 29/55 no #include intmain() { intn; while(scanf("%d",&n)! =EOF) if(n! =0&&n%8==2||n! =0&&n%8==6) printf("yes\n"); else printf("no\n"); } 30/55 求素数(1204) TimeLimit: 1000MSMemoryLimit:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 内蒙古 师范大学 OJ