中国海洋大学C语言上机考试
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
库以及
答案
八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案
(20套)
1.编写函数long fun(long x),它的功能是:将长整型
参数
转速和进给参数表a氧化沟运行参数高温蒸汽处理医疗废物pid参数自整定算法口腔医院集中消毒供应
x中每一位上为偶数的数依次取出,
构成一个新数返回。高位仍在高位,低位仍在低位。例如:下面程序运行时输入:124578902,程序输出:24802.
#include
long fun(long x)
{
int i,j,m,n;
for(i=0,m=0,n=1;x>0;i++)
{
j=x%10;
if(j%2==0)
{m=m+n*j;n=n*10;}
x=(x-j)/10;
}
return m;
}
void main()
{ long a,b;
printf("Enter a number:");
scanf("%ld",&a);
b=fun(a);
printf("b=%ld\n",b);
}
2. 编写函数void fun(int k,int *p),功能是:将参数k(2≤k≤32767)所有的不相同质因子升序写入p所指的一维数组中,以-1作为所有质因子的结束标志。例如:下面程序运行时若输入200,输出:2 5;若输入27720,输出:2 3 5 7 11;若输入101,输出101。
#include
#include
int check(int x)
{
int i;
for(i=2;i
#define N 10
void fun(int *x,int n)
{
}
void main()
{int a[N],i;
for(i=0;i
int fun(int *x,int n,float *w)
{
int i,j,s;
for(i=0;i<(n/5);i++)
{
s=0;
for(j=i*5;j<(i*5+5);j++)
s=s+*(x+j);
*(w+i)=s/5.0;
}
return (n/5);
}
void main()
{int a[30],i,n,m;
float b[6];
printf("Input a number: "); scanf("%d ",&n);
for(i=0;i
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式x0+x1+x2+...+xn
#include
int fun(int x,long int y)
{
int i,s=0;
for(i=0;s
#include
int fun(char (*ss)[N],int m,char *s)
int a,i;
strcpy(s,ss[0]);
for(i=1;i
int countw(char *str)
{
int i,j;
for(i=1,j=0;str[i];i++)
{
if(str[i]==' '&&(str[i-1]!=' '&&str[i-1]!=','&&str[i-1]!='.'))
j++;
if(str[i]==','&&(str[i-1]!=' '&&str[i-1]!=','&&str[i-1]!='.'))
j++;
if(str[i]=='.'&&(str[i-1]!=' '&&str[i-1]!=','&&str[i-1]!='.'))
j++;
}
if(str[0]!=' '&&str[0]!=','&&str[0]!='.')
j++;
return j;
}
void main()
{char s[200];
gets(s);
printf("There are %d words.\n",countw(s));
}
8. 编写函数void fun(char *str),功能:字符串str中单词以空格作分隔,如果单词之间不止一个空格,则删除多余的空格,使单词之间只保留一个空格。字符串开始的空格也只保留一个。例如,程序运行时若输入: It's 10:10 o'clock , I am late.
输出:It's 10:10 o'clock , I am late. #include
void fun(char *str)
{
int i,j;
for(i=0;str[i];i++)
{
if(str[i]==' ')
if(str[i+1]==' ')
{
for(j=i+1;str[j];j++)
str[j]=str[j+1];
i=i-1;}
}
}
void main()
{char s[100];
puts("Enter a string:");
gets(s);
fun(s);
puts(s);
}
9. 函数void fun(int x,int k,int *p)的功能是:求出比x大的最初k(k<1000)个素数,放入p所指数组中。例如:程序运行时输入:10 10,输出:11 13 17 19 23 29 31 37 41 43
#include
#include
int check(int x)
{
int i;
if(x<2) return 1;
for(i=2;i<=sqrt(x);i++)
{
if(x%i==0) break;
}
if(i>sqrt(x)) return 0;
return 1;
}
void fun(int x,int k,int *p)
{
int i,j;
p[0]=x+1;
for(i=0;i
#include
int check(int x)
{
int i;
if(x<2) return 1;
for(i=2;i
#include
void fun(char *s)
{
int i,j;
for(i=0;s[i];i++)
if(((s[i]>=65&&s[i]<=90)||(s[i]>=97&&s[i]<=122))&&((s[i+1]>=65&&s[i+1]<=90)||(s[i+1]>=97&&s[ i+1]<=122)))
{
for(j=strlen(s)+1;j>i+1;j--)
s[j]=s[j-1];
s[j]='*';
}
}
void main()
{char x[80];
gets(x);
fun(x);
puts(x);
}
12. 编写函数int fun(int k),功能:从5个红球,6个白球,7个黑球中任意取出k(2≤k≤18)个球作为一组进行组合。在每组中,可以没有红球和白球,但必须要有黑球。不同组合的数目作为函数值返回。例如,若k为8时,正确的组合数是31;若k为2时,正确的组合数是3;或k为3时,正确的组合数是6 。
#include
int fun(int k)
{
int i,j,h,s;
for(i=1,s=0;i<=7;i++)
for(j=0;j<=6;j++)
for(h=0;h<=5;h++)
if(i+j+h==k)
s++;
return s;
}
void main()
{int x,n;
scanf("%d",&x);
n=fun(x);
printf("n=%d\n",n);
}
13. 编写函数void fun(char *str),功能:对形参str所指字符串中的字符按ASCII码升序排序。例如,下面程序运行时输入:The C Programming Language<回车>
输出:CLPTaaaeegggghimmnnorru
#include
#include
void fun(char *str)
{
int j,i;
char t;
for(i=0;str[i];i++)
{
for(j=i+1;j(int)str[j])
{
t=str[i];
str[i]=str[j];
str[j]=t;
}
}
}
void main()
{char s[100];
gets(s);
fun(s);
puts(s);
}
14. 请编写函数void fun(int *a, int n, int y),它的功能是:把y值插入到有n个数的a数组中, a数组中的数已按由大到小的次序排好,y的值从键盘读入。插入后,数组中的数仍然有序。对照下面三种情况运行程序:
1) 插在最前2) 插在最后3) 插在中间
若输入数11,输出20 18 16 14 12 11 10 8 6 4 2
输入数1,输出20 18 16 14 12 10 8 6 4 2 1
输入数33,输出33 20 18 16 14 12 10 8 6 4 2
#include
void fun(int *a,int n,int y)
{
int i,j;
for(i=0;ia[i]) break;
}
for(j=n;j>i;j--)
a[j]=a[j-1];
a[i]=y;
}
void main()
{int i,a[11]={20,18,16,14,12,10,8,6,4,2},x;
void fun(int *,int n,int y);
scanf("%d",&x);
fun(a,10,x);
for(i=0;i<11;i++)
printf("%d ",*(a+i));
}
15. 编写函数int fun(char *s1,char *s2),在字符串s1中统计字符串s2出现的次数并返回。若s2在s1中未出现,则返回0。例如:
若输入的字符串s1为:abaaAabcaabbabca,字符串s2为:ab ,则程序输出:n=4
若输入的字符串s1为:abaaAabcaabbabca,字符串s2为:abd,则程序输出:No find
#include
#include
int fun(char *s1,char *s2)
int i,j,n=0;
for(i=0;i<=strlen(s1)-strlen(s2);i++)
{
for(j=0;j
int fun(char *str)
{
int i,j,n;
for(i=0,n=0;str[i];i++)
{
for(j=0;j
int fun(int m,int n,int *p)
{
int i,j,s,a[1000]={1,2};
for(i=2;i<1000;i++)
a[i]=a[i-1]+a[i-2];
for(i=0,j=0,s=0;i<1000;i++)
{
if(a[i]>=m&&a[i]<=n)
{
p[j]=a[i];
j++;
s++;
}
}
return s;
}
void main()
{int a,b,n,c[22],i;
scanf("%d%d",&a,&b);
n=fun(a,b,c);
for(i=0;i
#include
char *fun(char *s1,char *s2,int n)
{
int l,i;
l=strlen(s1);
if(l>=n)
strcpy(s2,&s1[l-n]);
else
{
strcpy(&s2[n-l],s1);
for(i=0;i
#include
void fun(char *a,char *b,char *c)
{
int i,ls1,ls2;
ls1=strlen(a);ls2=strlen(b);
for(i=0;i<(ls1>ls2?ls2:ls1);i++)
c[i]=(a[i]>b[i]?a[i]:b[i]);
for(i=(ls1>ls2?ls2:ls1);i<(ls1>ls2?ls1:ls2);i++)
{
if(ls1>ls2)
c[i]=a[i];
else
c[i]=b[i];
}
c[i]='\0';
}
void main()
{char s1[80],s2[80],s3[80];
gets(s1);
gets(s2);
fun(s1,s2,s3);
puts(s3);
}
20. 编写函数void fun(char *s),将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符和非数字字符原有的前后次序。
例如,若输入:num is 0532-66ouc78,OK. 执行结果为:num is -ouc,OK.05326678
#include
#include
void fun(char *s)
{
int i,j=0,k=0;
char t1[80],t2[80];
for(i=0;i57 || s[i]<48 )
{
t1[j]=s[i];
j++;
}
else
{
t2[k]=s[i];
k++;}
}
for(i=0;i
本文档为【2013级中国海洋大学C语言上机题库及答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。