时间:2011-12-25 00:01:03
第11套题
一、程序填空题
#include <stdio.h>
#include <string.h>
#define M 5
#define N 20
int fun(char (*ss)[N], int *n)
{ int i, k=0, len= N;
/**********found**********/
for(i=0; i<___1___; i++)
{ len=strlen(ss[i]);
if(i==0) *n=len;
/**********found**********/
if(len ___2___ *n)
{ *n=len;
k=i;
}
}
/**********found**********/
return(___3___);
}
main()
{ char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","chongqing"};
int n,k,i;
printf("nThe original strings are :n");
for(i=0;i<M;i++)puts(ss[i]);
k=fun(ss,&n);
printf("nThe length of shortest string is : %dn",n);
printf("nThe shortest string is : %sn",ss[k]);
}
二、程序改错题
#include <stdio.h>
#include <string.h>
char* fun( char tt[] )
{
int i;
for( i = 0; tt[i]; i++ )
/**********found***********/
if(( 'a' <= tt[i] )||( tt[i] <= 'z' ) )
/**********found***********/
tt[i] += 32;
return( tt );
}
main( )
{
char tt[81];
printf( "nPlease enter a string: " );
gets( tt );
printf( "nThe result string is:n%s", fun( tt ) );
}
三、程序编写题
#include <stdio.h>
int prime ( int m )
{ int k = 2;
while ( k <= m && (m%k))
k++;
if (m == k )
return 1;
else return 0;
}
void fun( int m, int *k, int xx[] )
{
}
main()
{
int m, n, zz[100];
void NONO ( );
printf( "nPlease enter an integer number between 10 and 100: " );
scanf( "%d", &n );
fun( n, &m, zz );
printf( "nnThere are %d non-prime numbers less than %d:", m, n );
for( n = 0; n < m; n++ )
printf( "n %4d", zz[n] );
NONO();
}
void NONO()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
输出数据,关闭文件。 */
int m, n, zz[100];
FILE *rf, *wf ;
rf = fopen("K:\k01\24010001\in.dat","r") ;
wf = fopen("K:\k01\24010001\out.dat","w") ;
fscanf( rf, "%d", &n );
fun( n, &m, zz );
fprintf(wf, "%dn%dn", m, n );
for( n = 0; n < m; n++ )
fprintf(wf, "%dn", zz[n] );
fclose(rf) ;
fclose(wf) ;
}