2010-2011 C语言程序试题及答案
isfirst = 1; }
return tt; } main() {
int i; char tt[81];
printf(\ gets( tt );
printf( \result string is:%s\\n\EXUL( tt ) ); }
40、编写程序,从键盘输入字符串tt,字符串中'a'到
'z'26个字母各自出现的次数,并依次放在pp所指数组中。 例如,当输入字符串:abcdefgabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#include
void fun(char *tt, int pp[]) {
char *p_tt=tt; int i=0;
第 41 页 共 46 页
2010-2011 C语言程序试题及答案
while(i<26){ pp[i]=0; i++;}
for(;*p_tt!=NULL;p_tt++){ switch(*p_tt){
case 'a':pp[0]++;break; case 'b':pp[1]++;break; case 'c':pp[2]++;break; case 'd':pp[3]++;break; case 'e':pp[4]++;break; case 'f':pp[5]++;break; case 'g':pp[6]++;break; case 'h':pp[7]++;break; case 'i':pp[8]++;break; case 'j':pp[9]++;break; case 'k':pp[10]++;break; case 'l':pp[11]++;break; case 'm':pp[12]++;break; case 'n':pp[13]++;break; case 'o':pp[14]++;break; case 'p':pp[15]++;break; case 'q':pp[16]++;break; case 'r':pp[17]++;break; case 's':pp[18]++;break; case 't':pp[19]++;break;
第 42 页 共 46 页
2010-2011 C语言程序试题及答案
case 'u':pp[20]++;break; case 'v':pp[21]++;break; case 'w':pp[22]++;break; case 'x':pp[23]++;break; case 'y':pp[24]++;break; case 'z':pp[25]++;break; } } } main( )
{ char aa[1000] ; int bb[26], k, n ;
printf( \scanf(\ fun(aa, bb ) ;
for ( k = 0 ; k < 26 ; k++ ) printf (\\bb[k]) ; printf( \ }
41、请编写程序,把字符串s中所有的字符前移一个位置,串中的第一个字符移到最后。
例如:原有的字符串为:Mn.123xyZ,则调用该函数后,串中的内容为:n.123xyZM。
第 43 页 共 46 页
2010-2011 C语言程序试题及答案
#include
char b[N] ;
sprintf(b, \ strcpy(s, b) ; }
void main( ) {
char a[ N ] ;
printf ( \ printf ( \ fun ( a );
printf ( \ puts ( a ); }
42、编写程序,把字符串中的内容逆置。
例如:字符串中原有的内容为:abcdefg,输出:gfedcba。 #include
第 44 页 共 46 页