相关题目
下面说明不正确的是( )。
若有说明语句
char a[ ] = “ It is mine”;
char *p = “ It is mine ” ;
则以下不正确的叙述是( )。
若已定义char s[10]; 则在下面表达式中不表示s [ 1 ]的地址的是( )。
下面程序段的运行结果是( ) 。
char s[6]; s="abcd"; printf("\"%s\"\n",s);
下面程序的功能是从输入的十个字符串中找出最长的那个串。 请选择填空。
include <stdio.h>
include <string.h>
define N 10
main( )
{ char str[N][81],*sp;
int i;
for(i=0;i<N;i )
gets(str[i]);
sp=str[0];
for(i=1;i<N;i )
if(strlen(sp)<strlen(str[i])) ( );
printf('输出最长的那个串:/n%s/n',sp);
printf('输出最长的那个串的长度:%d/n',strlen(sp));}
下面程序的功能是将一个整数字符串转换为一个整数, 如"-1234"转换为-1234 , 请选择填空。
# include
# include
main ( )
{ char s[ 6 ] ;
int n ;
gets ( s ) ;
if ( * s = = '-') n =-chnum ( s +1 ) ;
else n = chnum ( s ) ;
printf ( " % d \ n “, n ) ;
}
chnum ( char *p )
{ int num = 0 , k , len , j ;
len = strlen ( p ) ;
for ( ; ( ) ; p++)
{ k = *p -'0';
j = (--len ) ;
while ( j -->0) { k =k * 10 ; }
num=num + k ;
}
return ( num ) ;
}
下面程序的功能是将八进制正整数字符串转换为十进制整数。 请选择填空。
# include
main ( )
{ char *p , s [ 6 ] ; int n ;
p =s ;
gets ( p ) ;
n =* p-'0' ;
while (( ) !=‘\ 0 ' ) n=n*8+*p-'0';
printf ( " % d \ n “, n ) ;
}
下面程序的功能是统计子串substr 在母串str 中出现的次数。 请选择填空。
# include
main ( )
{ char str [ 80] , substr [ 80 ] ;
int n ;
gets ( str ) ; gets ( substr ) ;
printf ( " % d \ n” , count ( str , substr ) ) ;
}
count ( char *str , char *substr )
{ int i , j , k , num = 0 ;
for ( i = 0 ;( ); i + + )
for (j = i,k = 0 ; substr [ k ] = = str [ j ] ; k + + , j + + )
if ( substr [k +1] == ' \ 0 ‘ ) { num + + ; break ; }
return ( num ) ;
}
下面程序的功能是在字符串str 中找出最大的字符并放在第一个位置上, 并将该字符前的原字符往后顺序移动, 如。 chyab 变成ychab 。请选择填空。
# include
main ( )
{ char str[80],*p , max , *q ;
p = str ; gets ( p ) ; max = * ( p + + ) ;
while (*p ! =‘\ 0 ’ )
if ( max < * p ) { max = * p ;q=p;p + + ;}
p =q ;
while ( ) {*p = *(p-1) ; p--;}
p=max;
puts ( p ) ;
}
以下程序的功能是删除字符串s 中的所有空格(包括TAB 符, 回车符, 换行符) , 请选择填空。
# include
# include
# include
main ( )
{char c , s [ 80 ] ; int i = 0 ;
c = getchar ( ) ;
while ( c ! = EOF ) { s [ i ] = c ; i + + ; c=getchar ( ) ; }
s [ i ] =' \ 0’ ;
delspace ( s ) ;
puts ( s ) ;
}
delspace ( char *p )
{ int i , t ; char c[80];
for ( i = 0 , t=0 ; p[i] ; i + + )
if ( ! isspace ( ) ) c[t++]=p [ i ] ;
c[t] =' \ 0 ' ;
strcpy ( p , c ) ;
}
