中国海洋大学春上机试题高档题答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“中国海洋大学431真题”。
高等【问题描述】将整型参数x中每一位上为偶数的数依次取出,构成一个新数返回。高位仍在高位,低位仍在低位。
【输入形式】从标准输入中输入一个长整形数 【输出形式】将生成的序列输出到标准输出中 【样例输入】x=124578902 【样例输出】y=24802 #include void main(){ long fun(long);long x,y;scanf(“%ld”,&x);y=fun(x);printf(“%ld”,y);} long fun(long x){ int i,num,wei;long s=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;} return s;} 【问题描述】
计算并返回满足表达式: 1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+……+n)
从标准输入中输入一个长整形数m 【输出形式】
将生成的最大n输出到标准输出中 【样例输入】 m=10000 【样例输出】 n=38 #include void main(){ int m,n;printf(“m=”);scanf(“%d”,&m);n=fun(m);printf(“n=%d”,n);} int fun(int m){ int n,i;int s=0;for(n=1;s
for(i=1;i
【问题描述】输出比x大的最初k(k #include void main(){ void fun(int,int);int x,k;scanf(“%d%d”,&x,&k);if(x
{
x=2;
fun(x,k);} if(x>2)//x>2时素数由x+1开始找起;
{
x=x+1;
fun(x,k);} } void fun(int n,int k){ int j,i;j=0;//记录输出的素数数量
for(;j
for(i=2;i
{
if(n%i==0)break;
}
if(i>sqrt(n))
{
printf(“%d ”,n);
j++;
} } } 【问题描述】字符串str中单词以空格作分隔,如果单词之间不止一个空格,则删除多余的空格,使单词之间只保留一个空格。字符串开始的空格也只保留一个。【输入形式】从标准输入中输入字符串 【输出形式】将生成的序列输出到标准输出中 【样例输入】It's 10:10 o'clock , I am late.【样例输出】It's 10:10 o'clock , I am late.#include #include #include void main(){ int i,n;char s[1000];//测试数据或许很长
gets(s);for(i=0;s[i]!=' ';i++){
if(s[i]==' '&&s[i+1]==' ')
{
for(n=i;s[n]!=' ';n++)s[n]=s[n+1];
i--;//因为可能有两个以上空格相连的情况,需要退位检测接下来还有没有空格
} } puts(s);}!【问题描述】
有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
#define M 5 #define N 6 #include int main(){ void fun(int a[M][N]);int a[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}};int m,n;//m:记录行;n:记录列
fun(a);for(m=0;m
for(n=0;n
printf(“n”);} } void fun(int a[M][N]){ int m,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
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)行交换;
} } }【问题描述】在字符串s中,每两个字母之间加一个*,其余字符保持不变并输出字符串。【输入形式】从标准输入中输入一个字符串 【输出形式】将生成的字符串序列输出到标准输出中 【样例输入】I had 123_book.【样例输出】I h*a*d 123_b*o*o*k.#include #include void main(){
char s[1000];int l,i;gets(s);l=strlen(s);for(i=0;i
if(((s[i]>='a'&&s[i]='A'&&s[i]='a'&&s[i+1]='A'&&s[i+1]
printf(“%c*”,s[i]);
else printf(“%c”,s[i]);} } 【问题描述】实现十进制长整型数x到二进制的转换。输入一个十进制数,将其转换为二进制数以字符串形式存放于数组中并输出。【输入形式】
从标准输入中输入一个长整型数 【输出形式】
将转换后的二进制数输出 【样例输入】 13 【样例输出】 1101 【样例说明】
考虑正数、负数和零的情况
//除2取余,倒序输出 #include void main(){ int x,num,n[100],i=0;scanf(“%d”,&x);if(x==0)n[0]=0;if(x
x=-x;
while(x!=0)
{
num=x%2;
n[i]=num;
i++;
x=x/2;
}
i--;
n[i]=-n[i];//x
} 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]);} 【问题描述】统计字符串str中不同字符的个数输出。【输入形式】从标准输入中输入一个字符串 【输出形式】将生成的个数输出到标准输出中 【样例输入】One world,One dream!【样例输出】13 【样例说明】统计包含标点符号和空格,大写和小写视为不同字符。
#include #include void main(){ char s[100],key;//由s[0]开始一个个作为key,扫描其后的字符是否为key
int l,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);} 【问题描述】输入一个正整数n,计算1-1/4+1/7-1/10+1/13-1/16+……的前n 项之和,输出时保留3位小数。
【输入形式】从键盘输入一个正整数n。【输入输出样例1】(下划线部分表示输入)Enter n: 3 sum=0.893
#include void main(){ int fm=-2,i,n;
} double sum=0;printf(“Enter n: ”);scanf(“%d”,&n);for(i=1;i
sum=sum+1.0/fm;} else {
sum=sum-1.0/fm;} } printf(“sum=%.3lf”,sum);【问题描述】输入2个正整数m和n(m≥1,n≤1000),输出m ~n 之间所有Fibonacci数的个数及值。要求定义并调用函数fib(k),它的功能是返回第k项Fibonacci 数。例如,fib(7)的返回值是13。 【输入形式】从标准输入中输入一个范围m n(m n之间用空格分隔)【输出形式】将生成的个数输出到标准输出中,并输出fibonacci数列(冒号后无空格)【样例输入】1 5 【样例输出】5 fib:1 1 2 3 5
#include void main(){ int fib(int);int m,n,num,i,j=0;//num为斐波那契数列的数,j用于计数
int a[100];scanf(“%d %d”,&m,&n);for(i=1;;i++){
num=fib(i);
if(num>=m&&num
{
a[j]=num;
j++;
}
if(num>n)break;} printf(“%d fib:”,j);for(i=0;i
【问题描述】统计字符串str中单词的个数。单词之间以空格,逗号,句号作分隔,数字也看做单词。单词之间可能不止一个分隔符。
【输入形式】从标准输入中输入一组字符串 【输出形式】将生成的个数输出到标准输出中 【样例输入】It's 10:10 o'clock ,I am late.【样例输出】6
#include #include void main(){ int i,l,flag=0,num=0;//flag显示是否为单词,初始置0
char s[100];gets(s);l=strlen(s);for(i=0;i
if(s[i]==' '||s[i]==','||s[i]=='.')flag=0;
else if(flag!=1)//flag!=1表示上一个字符并不也是字母
{
flag=1;
num++;
} } printf(“%d”,num);}
国际贸易实务模拟试题五一、填空题(每题1分,共10分)1、在象征性交货方式下,卖方是凭( )交货,买方是凭( )付款。2、卖方承担责任最小、负担费用最少的贸易术语是( )。3、在DEQ交货条件下......
上机操作练习题1.某数组有20个元素,其值为随机产生的两位整数。现要求将前10个元素与后10个元素对换。即第1个元素与第20个元素互换,第2个数与第19个元素互换,…,第10个元素与第1......
1、在工程中添加一个窗体form1,当用户单击窗体时,在窗体上显示九九乘法表程序。结果如下图所示(本题编程解决,20分)参考答案:Private Sub Form_Click()ClsFor i = 1 To 9For j = 1......
一、名词解释(每题5分,本题共10 分) 1、现实主义绘画17世纪初与样式主义和学院艺术相对立的是现实主义艺术,最主要的代表人物是卡拉瓦乔.卡拉瓦乔主义影响了整个欧洲,把现实主......
一、基本操作(1)在考生文件夹下,"samp1.mdb"数据库文件中建立表"tTeacher",表结构如下。(2)根据"tTeacher"表的结构,判断并设置主键。 (3)设置"工作时间"字段的有效性规则为......