中国海洋大学C程上机答案.docx
《中国海洋大学C程上机答案.docx》由会员分享,可在线阅读,更多相关《中国海洋大学C程上机答案.docx(23页珍藏版)》请在冰豆网上搜索。
中国海洋大学C程上机答案
1
#include
#include
longfun(long);
voidmain()
{
longa,b;
printf("Enteranumber:
");
scanf("%ld",&a);
b=fun(a);
printf("b=%ld\n",b);
}
longfun(longx)
{
inti=0,m,a[20];
longb=0;
do
{
m=x%10;
if(m%2==0)
{
a[i]=m;
i=i+1;
}
}
while((x/=10)!
=0);
for(i=i-1;i>=0;i--)
{
b=b*10+a[i];
}
returnb;
}
2.
#include
voidfun(intk,int*p)
{
inti,j=0;
for(i=2;i<=k;i++)
{
while(k!
=i)
{
if(k%i==0)
{
p[j]=i;
j=j+1;
k=k/i;
}
elsebreak;
}
}
p[j]=k;
p[j+1]=-1;
}
voidmain()
{
intx,a[17]={0},i;
do
{
printf("Enteranumber(2-32767):
");
scanf("%d",&x);
}
while(x<2);
fun(x,a);
for(i=0;a[i]!
=-1;i++)
{
if(a[i]!
=a[i+1])
{
printf("%d",a[i]);
printf("");
}
}
}
3.
#include
#defineN6
voidfun(int*x,intn)
{
inti,k,j,p=0,m=0;
for(i=0;i<2;i++)
{
k=i;
for(j=i+1;j{
if(x[j]>x[k])
{
k=j;
}
}
m=x[i];
x[i]=x[k];
x[k]=m;
}
}
voidmain()
{
inta[N],i;
for(i=0;iscanf("%d",&a[i]);
fun(a,N);
for(i=0;iprintf("%d",a[i]);
printf("\n");
}
4.
#include
intfun(int*x,intn)
{
inti,j,m,p,d=0;
m=x[0];
for(i=0;i<7;i++)
{
x[i]=x[i]+x[i+1];
}
x[7]=x[7]+m;
for(i=0;i{
for(j=0;j{
if(x[j]>x[j+1])
{
p=x[j];
x[j]=x[j+1];
x[j+1]=p;
}
}
}
for(i=0;i{
if(x[i]%2!
=0)
{
d++;
}
}
returnd;
}
voidmain()
{
inta[8],i,n;
for(i=0;i<8;i++)
scanf("%d",&a[i]);
n=fun(a,8);
for(i=0;i<8;i++)
printf("%d",a[i]);
printf("n=%d\n",n);
}
5.
#include
#include
intfun(intx,longinty)
{
inti,n=0,m=0;
while(y-m>=0)
{
n++;
m=m+pow(x,n);
}
returnn-1;
}
voidmain()
{
intx;
longy;
scanf("%d%ld",&x,&y);
printf("n=%d\n",fun(x,y));
}
6.
#include
#include
#defineN30
intfun(char(*ss)[N],intm,char*s)
{
inti,j,k;
s=ss[0];
for(i=0;i{
if(strlen(s){
s=ss[i];
}
}
j=strlen(s);
printf("str=%s",s);
returnj;
}
voidmain()
{
chara[8][N],b[N];
inti,len;
for(i=0;i<8;i++)
gets(a[i]);
len=fun(a,8,b);
printf("len=%d",len);
}
7.
#include
intcountw(char*str)
{
charc;
inti=0,num=0,word=0;
while((c=str[i])!
='\0')
{
if(c=='')
{
word=0;
}
elseif(word==0)
{
word=1;
num++;
}
i++;
}
returnnum;
}
voidmain()
{
chars[200];
gets(s);
printf("Thereare%dwords.\n",countw(s));
}
8.
#include
voidfun(char*str)
{
charc,b;
inti=0,j,m,n;
while((c=str[i])!
='\0')
{
while(c=='0')
{
if(str[i+1]=='0')
{
j=i;
while((b=str[j])!
='\0')
{
str[j]=str[j+1];
j++;
}
}
}
i++;
}
puts(str);
}
voidmain()
{
chars[100];
puts("Enterastring:
");
gets(s);
fun(s);
puts(s);
}
9.
#include
#include
voidfun(intx,intk,int*p)
{
inti,m=0,n;
x=x+1;
n=sqrt(x);
while(m{
for(i=2;i<=n;i++)
{
if(x%i==0)
break;
if(i>=n)
{
p[m]=x;
m++;
}
}
x++;
n=sqrt(x);
}
}
voidmain()
{
inta,b,n[1000]={0},i;
scanf("%d%d",&a,&b);
fun(a,b,n);
for(i=0;i
printf("%d",n[i]);
puts("");
}
10.
#include
#include
intisPrime(intnum)
{
inti;
for(i=2;i<=sqrt(num);i++)
{
if((num%i)==0)
return0;
}
return1;
}
intconvert(intnum)
{
intk=0;
do
{
k=k*10+(num%10);
}
while((num/=10)!
=0);
returnk;
}
intfun(inta,intb)
{
inti,res=0;
for(i=a;i<=b;i++)
{
if(isPrime(i)&&isPrime(convert(i)))
{
printf("%d",i);
res++;
}
}
printf("\n");
returnres;
}
voidmain()
{
intnum,a,b;
scanf("%d%d",&a,&b);
num=fun(a,b);
printf("num=%d\n",num);
}
11.
#include
voidfun(char*a,char*b)
{
inti,j;
for(i=0,j=0;a[i];)
{
b[j++]=a[i++];
if(!
(i%3))
b[j++]='#';
}
b[j]='\0';
}
voidmain()
{
charx[80],y[120];
gets(x);
fun(x,y);
puts(y);
}
12.
#include
intfun(intk)
{
inti,j,m,p=0;
for(i=1;i<=5;i++)
{
for(j=1;j<=3;j++)
{
if(i+j==k)
{
p++;
}
for(m=1;m<=6;m++)
{
if(i+j+m==k)
{
p++;
}
}
}
}
returnp;
}
voidmain()
{
intx,n;
scanf("%d",&x);
n=fun(x);
printf("n=%d\n",n);
}
13.
#include
#include
voidfun(char*str)
{
charm;
inti,j,p,q,x;
x=strlen(str);
for(i=1;i{
for(j=1;j{
if(str[j]>str[j+2])
{
m=str