最新中国海洋大学春上机试题高档题答案.docx

上传人:b****5 文档编号:7644296 上传时间:2023-05-11 格式:DOCX 页数:14 大小:19.38KB
下载 相关 举报
最新中国海洋大学春上机试题高档题答案.docx_第1页
第1页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第2页
第2页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第3页
第3页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第4页
第4页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第5页
第5页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第6页
第6页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第7页
第7页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第8页
第8页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第9页
第9页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第10页
第10页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第11页
第11页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第12页
第12页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第13页
第13页 / 共14页
最新中国海洋大学春上机试题高档题答案.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

最新中国海洋大学春上机试题高档题答案.docx

《最新中国海洋大学春上机试题高档题答案.docx》由会员分享,可在线阅读,更多相关《最新中国海洋大学春上机试题高档题答案.docx(14页珍藏版)》请在冰点文库上搜索。

最新中国海洋大学春上机试题高档题答案.docx

最新中国海洋大学春上机试题高档题答案

高等

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

{

if(a[m][k]

t=a[m][k];

a[m][k]=a[m][N-1];

a[m][N-1]=t;

}

}

for(m=0;m

{

k=m;//k:

记录第一下标

for(n=m+1;n

{

if(a[k][N-1]

if(m!

=k)

{

for(i=0;i

{

t=a[k][i];

a[k][i]=a[m][i];

a[m][i]=t;

}//将第k行与第m(m=0,1,2,3,4)行交换;

}

}

}

}

6

【问题描述】在字符串s中,每两个字母之间加一个*,其余字符保持不变并输出字符串。

【输入形式】从标准输入中输入一个字符串

【输出形式】将生成的字符串序列输出到标准输出中

【样例输入】Ihad123_book.

【样例输出】Ih*a*d123_b*o*o*k.

#include

#include

voidmain()

{

chars[1000];

intl,i;

gets(s);

l=strlen(s);

for(i=0;i

{

if(((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))&&((s[i+1]>='a'&&s[i+1]<='z')||(s[i+1]>='A'&&s[i+1]<='Z')))

printf("%c*",s[i]);

elseprintf("%c",s[i]);

}

}

7

【问题描述】实现十进制长整型数x到二进制的转换。

输入一个十进制数,将其转换为二进制数以字符串形式存放于数组中并输出。

【输入形式】

从标准输入中输入一个长整型数

【输出形式】

将转换后的二进制数输出

【样例输入】

13

【样例输出】

1101

【样例说明】

考虑正数、负数和零的情况

//除2取余,倒序输出

#include

voidmain()

{

intx,num,n[100],i=0;

scanf("%d",&x);

if(x==0)n[0]=0;

if(x<0)

{

x=-x;

while(x!

=0)

{

num=x%2;

n[i]=num;

i++;

x=x/2;

}

i--;

n[i]=-n[i];//x<0时把最后一位转为负数即可(输出时的第一位)

}

if(x>0)

{

while(x!

=0)

{

num=x%2;

n[i]=num;

i++;

x=x/2;

}

i--;//因为上方的i++最终多加一位

}

for(;i>=0;i--)printf("%d",n[i]);

}

8

【问题描述】统计字符串str中不同字符的个数输出。

【输入形式】从标准输入中输入一个字符串

【输出形式】将生成的个数输出到标准输出中

【样例输入】Oneworld,Onedream!

【样例输出】13

【样例说明】统计包含标点符号和空格,大写和小写视为不同字符。

#include

#include

voidmain()

{

chars[100],key;//由s[0]开始一个个作为key,扫描其后的字符是否为key

intl,i,j,num;

gets(s);

l=strlen(s);

num=l;//num初始值为字符串长度,扫描到相同字符时才减

for(i=0;i

{

key=s[i];

if(s[i]!

=NULL)

{

for(j=i+1;j

{

if(s[j]==key)

{

num--;

s[j]=NULL;//若s[j]与之前字符相同,在总数中减去其后将其置为NULL,以防再次成为key

}

}

}

}

printf("%d",num);

}

9

【问题描述】输入一个正整数n,计算1-1/4+1/7-1/10+1/13-1/16+……的前n项之和,输出时保留3位小数。

【输入形式】从键盘输入一个正整数n。

【输入输出样例1】(下划线部分表示输入)

Entern:

3

sum=0.893

#include

voidmain()

{

intfm=-2,i,n;

doublesum=0;

printf("Entern:

");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

fm=fm+3;

if(i%2!

=0)

{

sum=sum+1.0/fm;

}

else

{

sum=sum-1.0/fm;

}

}

printf("sum=%.3lf",sum);

}

10

【问题描述】输入2个正整数m和n(m≥1,n≤1000),输出m~n之间所有Fibonacci数的个数及值。要求定义并调用函数fib(k),它的功能是返回第k项Fibonacci数。例如,fib(7)的返回值是13。

【输入形式】从标准输入中输入一个范围mn(mn之间用空格分隔)

【输出形式】将生成的个数输出到标准输出中,并输出fibonacci数列(冒号后无空格)

【样例输入】15

【样例输出】5fib:

11235 

#include

voidmain()

{

intfib(int);

intm,n,num,i,j=0;//num为斐波那契数列的数,j用于计数

inta[100];

scanf("%d%d",&m,&n);

for(i=1;;i++)

{

num=fib(i);

if(num>=m&&num<=n)

{

a[j]=num;

j++;

}

if(num>n)break;

}

printf("%dfib:

",j);

for(i=0;i

}

intfib(intn)

{

if(n==1||n==2)return1;

elsereturnfib(n-2)+fib(n-1);

}

11

可是创业不是一朝一夕的事,在创业过程中会遇到很多令人难以想象的疑难杂症,对我们这些80年代出生的温室小花朵来说,更是难上加难。

【问题描述】统计字符串str中单词的个数。

单词之间以空格,逗号,句号作分隔,数字也看做单词。

单词之间可能不止一个分隔符。

【输入形式】从标准输入中输入一组字符串 

【输出形式】将生成的个数输出到标准输出中

【样例输入】It's 10:

10 o'clock ,Iamlate.

【样例输出】6

 

#include

#include

voidmain()

§8-2购物环境与消费行为2004年3月20日{

十字绣□编制类□银饰制品类□串珠首饰类□inti,l,flag=0,num=0;//flag显示是否为单词,初始置0

在上海,随着轨道交通的发展,地铁商铺应运而生,并且在重要商圈已经形成一定的气候,投资经营地铁商铺逐渐为一大热门。

在人民广场地下的迪美购物中心,有一家DIY自制饰品店--“碧芝自制饰品店”chars[100];

gets(s);

但这些困难并非能够否定我们创业项目的可行性。

盖茨是由一个普通退学学生变成了世界首富,李嘉诚是由一个穷人变成了华人富豪第一人,他们的成功表述一个简单的道理:

如果你有能力,你可以从身无分文变成超级富豪;如果你无能,你也可以从超级富豪变成穷光蛋。

l=strlen(s);

for(i=0;i

{

(2)物品的独一无二if(s[i]==''||s[i]==','||s[i]=='.')flag=0;

在上海,随着轨道交通的发展,地铁商铺应运而生,并且在重要的商业圈已经形成一定的气候,投资经营地铁商铺逐渐成为一大热门。

在人民广场地下“的美”购物中心,有一家DIY自制饰品店---“碧芝自制饰品店”。

elseif(flag!

=1)//flag!

=1表示上一个字符并不也是字母

{

(二)上海的人口环境对饰品消费的影响flag=1;

num++;

}

民族性手工艺品。

在饰品店里,墙上挂满了各式各样的小饰品,有最普通的玉制项链、珍珠手链,也有特别一点如景泰蓝的手机挂坠、中国结的耳坠,甚至还有具有浓郁的异域风情的藏族饰品。

}

printf("%d",num);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2