中国海洋大学春上机试题高档题答案.docx
- 文档编号:25475096
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:16
- 大小:19.22KB
中国海洋大学春上机试题高档题答案.docx
《中国海洋大学春上机试题高档题答案.docx》由会员分享,可在线阅读,更多相关《中国海洋大学春上机试题高档题答案.docx(16页珍藏版)》请在冰豆网上搜索。
中国海洋大学春上机试题高档题答案
高等
1
【问题描述】将整型参数x中每一位上为偶数的数依次取出,构成一个新数返回。
高位仍在高位,低位仍在低位。
【输入形式】从标准输入中输入一个长整形数
【输出形式】将生成的序列输出到标准输出中
【样例输入】x=124578902
【样例输出】y=24802
#include
voidmain()
{
longfun(long);
longx,y;
scanf("%ld",&x);
y=fun(x);
printf("%ld",y);
}
longfun(longx)
{
inti,num,wei;
longs=0;
wei=1;
for(i=0;x>0;i++)
{
num=x%10;
if(num%2==0)
{
s=s+num*wei;
wei=wei*10;
}
x=(x-num)/10;
}
returns;
}
2
【问题描述】
计算并返回满足表达式:
1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+……+n)<=m最大的n。
【输入形式】
从标准输入中输入一个长整形数m
【输出形式】
将生成的最大n输出到标准输出中
【样例输入】
m=10000
【样例输出】
n=38
#include
voidmain()
{
intm,n;
printf("m=");
scanf("%d",&m);
n=fun(m);
printf("n=%d",n);
}
intfun(intm)
{
intn,i;
ints=0;
for(n=1;s<=m;n++)
{
for(i=1;i<=n;i++)s=s+i;
}
returnn-2;
}
3
【问题描述】输出比x大的最初k(k<1000)个素数,x和k键盘输入,输出时用一个空格分隔数据。
注意最小的素数是2。
【样例输入】710
【样例输出】11131719232931374143
【样例说明】-710
【样例输出】2357111317192329
#include
#include
voidmain()
{
voidfun(int,int);
intx,k;
scanf("%d%d",&x,&k);
if(x<=2)//x<=2时素数由2找起
{
x=2;
fun(x,k);
}
if(x>2)//x>2时素数由x+1开始找起;
{
x=x+1;
fun(x,k);
}
}
voidfun(intn,intk)
{
intj,i;
j=0;//记录输出的素数数量
for(;j { for(i=2;i<=sqrt(n);i++) { if(n%i==0)break; } if(i>sqrt(n)) { printf("%d",n); j++; } } } 4 【问题描述】字符串str中单词以空格作分隔,如果单词之间不止一个空格,则删除多余的空格,使单词之间只保留一个空格。 字符串开始的空格也只保留一个。 【输入形式】从标准输入中输入字符串 【输出形式】将生成的序列输出到标准输出中 【样例输入】It's 10: 10 o'clock , I am late. 【样例输出】It's10: 10o'clock,Iamlate. #include #include #include voidmain() { inti,n; chars[1000];//测试数据或许很长 gets(s); for(i=0;s[i]! ='\0';i++) { if(s[i]==''&&s[i+1]=='') { for(n=i;s[n]! ='\0';n++)s[n]=s[n+1]; i--;//因为可能有两个以上空格相连的情况,需要退位检测接下来还有没有空格 } } puts(s); } 5 ! 【问题描述】 有int型5×6二维数组,分别将每一行的最大值与本行的最后一个数据(第6-1列数据)对调,其余数据保持不变。 然后按每一行的最大值对二维数据各行降序排序并输出变换后的数组。 【输入形式】 从标准输入中输入一个5*6的二维数组 【输出形式】 将生成的二维数组输出到标准输出中 【样例输入】(输入的数据的范围【999,-999】) 11 52 43 4 25 22 22 33 46 58 16 47 83 42 54 26 47 0 4 5 6 7 8 9 45 96 17 18 39 2 【样例输出】(输出时用格式符%5d) 45 2 17 18 39 96 0 42 54 26 47 83 22 33 46 47 16 58 11 22 43 4 25 52 4 5 6 7 8 9 #defineM5 #defineN6 #include intmain() { voidfun(inta[M][N]); inta[M][N]={{11,52,43,4,25,22},{22,33,46,58,16,47},{83,42,54,26,47,0},{4,5,6,7,8,9},{45,96,17,18,39,2}}; intm,n;//m: 记录行;n: 记录列 fun(a); for(m=0;m { for(n=0;n printf("\n"); } } voidfun(inta[M][N]) { intm,n,k,i,t; for(m=0;m { k=0;//k: 记录第二下标 for(n=1;n {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国海洋 大学 春上 试题 高档 答案