******************************
********
三级 c 语言机试答案(南开 100 题
打印版)
******************************
********
第 1 题
void num(int m,int k,int xx[])
{int data=m+1;
int half,n=0,I;
while(1)
{half=data/2;for(I=2;I<=half;I++)
if(data%I==0)break;
if(I>half)
{xx[n]=data;n++;}
if(n>=k)break;
data++;
}
}
***************************
第 2 题
void jsVal()
{
int bb[4];
int I,j,k,flag;
for (I=0;I<200;I++)
{bb[0]=a[I]/1000;
bb[1]=a[I]%1000/100;
bb[2]=a[I]%100/10;
bb[3]=a[I]%10;
for (j=0;j<4;j++)
{if (bb[j]%2==0)
flag=1;
else
{flag=0;break;}
}
if (flag==1)
{ b[cnt]=a[I];
cnt++;}
}
for(I=0;I<cnt-1;I++)
for(j=I+1;j<cnt;j++)
if (b[I]<b[j])
{k=b[I];
b[I]=b[j];
b[j]=k;}
}
**************************
第 3 题
void StrOR(void)
{int I,j,k,index,strl;
char ch;
for(I=0;I<maxline;I++)
{strl=strlen(xx[I]);
index=strl;
for(j=0;j<strl;j++)
if(xx[I][j]=='o')
{for(k=j;k<strl-1;k++)
xx[I][k]=xx[I][k+1];
xx[I][strl-1]= ' ';
index=j;}
for(j=strl-1;j>=index;j--)
{ch=xx[I][strl-1];
for(k=strl-1;k>0;k--)
xx[I][k]=xx[I][k-1];
xx[I][0]=ch;}
}
}
*************************
第 4 题
void StrOL(void)
{int I,j,k,strl,l;char c;
for(I=0;I<maxline;I++)
for(j=0;j<strlen(xx[I]);j++)
{c=xx[I][j];
if ((c>='A'&&c<='Z')||
(c>='a'&&c<='z')||c==' ')
;
else xx[I][j]=' ';
}
for(l=0;l<maxline;l++)
{char ch[80]={0};
char pp[80]={0};
strl=strlen(xx[l]);
I=strl-1;
k=1;
while(1)
{while (((xx[l][I]>='a'&&xx[l]
[I]<='z')||(xx[l][I]>='A'&&xx[l]
[I]<='z'))&&I>=0)
{for(j=k;j>=0;j--)
pp[j+1]=pp[j];
pp[0]=xx[l][I];
k++;I--;
}
strcat(ch,pp);
strcpy(pp, "");
k=1;
if(I==-1)break;
while((xx[l][I]<'A'||xx[l]
[I]>'z')&&I>=0)
{for(j=k;j>=0;j--)
pp[j+1]=pp[j];
pp[0]=xx[l][I];
k++;
I--;}
strcat(ch,pp);
strcpy(pp,"");
k=0;
if(I==-1)break;}
strcpy(xx[l],ch);
}
}
***************************
第 5 题
void jsSort()
{
int I,j,data;
for(I=0;I<199;I++)
for(j=I+1;j<200;j++)
{if (aa[I]%1000>aa[j]%1000)
{data=aa[I];
aa[I]=aa[j];
aa[j]=data;}
else if(aa[I]%1000==aa[j]%1000)
if(aa[I]<aa[j])
{data=aa[I];
aa[I]=aa[j];
aa[j]=data;}
}
for(I=0;I<10;I++)
bb[I]=aa[I];
}
******************************
***********
第 6 题
void jsSort()
{
int I,j,data;
for(I=0;I<199;I++)
for(j=I+1;j<200;j++)
{if (aa[I]%1000<aa[j]%1000)
{data=aa[I];
aa[I]=aa[j];
aa[j]=data;}
else if(aa[I]%1000==aa[j]%1000)
if(aa[I]>aa[j])
{data=aa[I];
aa[I]=aa[j];
aa[j]=data;}
}
for(I=0;I<10;I++)
bb[I]=aa[I];
}
******************************
***********
第 7 题
void SortDat( )
{int I,j;
PRO xy;
for(I=0;I<99;I++)
for(j=I+1;j<100;j++)
if(strcmp(sell[I].dm,sell[j].dm)<0)
{xy=sell[I];
sell[I]=sell[j];
sell[j]=xy;}
else
if(strcmp(sell[I].dm,sell[j].dm)==0)
if(sell[I].je<sell[j].je)
{xy=sell[I];
sell[I]=sell[j];
sell[j]=xy;}
}
******************************
***********
第 8 题
评论0