第1题 给定程序MODI1.C中函数 fun 的功能是:把在字符串s中出现的每个字符,紧随其后重复出现一次,形成一个新串放在t中,t中字符按原字符串中字符顺序排列。 例如:当s中的字符串为:"ABAABBCCDDEE"。 则t中的字符串应为:"AABBCCDDEE"。 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! Modi1.c #include #include #include /************found************/ void fun (char s,char t) /参考答案:void fun (char *s,char *t)/ { int i, sl; sl = strlen(s); for (i=0; i { t[2*i] = s[i]; t[2*i+1] = s[i]; } /************found************/ t[2*sl] = '0'; /参考答案:t[2*sl] = '\0';/ } main() { char s[100], t[100]; clrscr(); printf("\nPlease enter string s:"); scanf("%s", s); fun(s, t); printf("The result is: %s\n", t); } 第2题 给定程序MODI1.C中函数 fun 的功能是:把在字符串s中出现的每个字符, 紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中逆排列。 例如:当s中的字符串为:"ABCDE"时, 则t中的字符串应为:"EEDDCCBBAA"。 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! Modi1.c #include #include #include void fun (char *s, char *t) { int i, sl; sl = strlen(s); /************found************/ for (i=1; i { t[2*i] = s[sl-i-1]; t[2*i +1] = s[sl-i-1]; } /************found************/ t[2*sl] = '0/'; /参考答案:t[2*sl] = '\0';/ } main() { char s[100], t[100]; clrscr(); printf("\nPlease enter string s:"); scanf("%s", s); fun(s, t); printf("The result is: %s\n", t); } 第3题 给定程序MODI1.C中函数 fun 的功能是:将在字符串s中下标为偶数位置上的字符,紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中字符的顺序排列。(注意0为偶数) 例如:当s中的字符串为:"ABCDE"时, 则t中的字符串应为:"AACCEE"。 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! Modi1.c #include #include #include void fun (char *s, char *t) { int i, j, sl; sl = strlen(s); /************found************/ for (i=0, j=0; i { t[2*j] = s[i]; t[2*j +1] = s[i]; j++; } /************found************/ t[2*sl] = '\0'; /参考答案:t[2*j]='\0';/ } main() { char s[100], t[100]; clrscr(); printf("\nPlease enter string s:"); scanf("%s", s); fun(s, t); printf("The result is: %s\n", t); } 第4题 给定程序MODI1.C中函数 fun 的功能是:将在字符串s中下标为奇数位置上的字符,紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中字符的顺序排列。(注意0为偶数) 例如:当s中的字符串为:"ABCDEF"时, 则t中的字符串应为:"BBDDFF"。 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! Modi1.c #include #include #include void fun (char *s, char *t) { int i, j, sl; sl = strlen(s); /************found************/ for (i=0, j=0; i { t[2*j] = s[i]; t[2*j +1] = s[i]; /************found************/ j--; /参考答案:j++/ } t[2*j] = '\0'; } main() { char s[100], t[100]; clrscr(); printf("\nPlease enter string s:"); scanf("%s", s); fun(s, t); printf("The result is: %s\n", t); } 第5题 给定程序MODI1.C中函数 fun 的功能是:将在字符串s中下标为偶数位置上的字符,紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中字符出现的逆序排列。(注意0为偶数) 例如:当s中的字符串为:"ABCDEF"时, 则t中的字符串应为:"EECCAA"。 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! Modi1.c #include #include #include void fun (char *s, char *t) { int i, j, sl; sl = strlen(s); if(sl%2)sl--; else sl-=2; /************found************/ for (i=sl, j=0; i>=0; i--) /参考答案:for (i=sl, j=0; i>=0; i-=2)/ { t[2*j] = s[i]; t[2*j +1] = s[i]; j++; } /************found************/ t[2*sl] = '\0'; /参考答案:t[2*j] = '\0';/ } main() { char s[100], t[100]; clrscr(); printf("\nPlease enter string s:"); scanf("%s", s); fun(s, t); printf("The result is: %s\n", t); } 第6题 给定程序MODI1.C中函数 fun 的功能是:将在字符串s中下标为奇数位置上的字符,紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中字符出现的逆序排列。(注意0为偶数) 例如:当s中的字符串为:"ABCDEFG"时, 则t中的字符串应为:"FFDDBB"。 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! Modi1.c #include #include #include void fun (char *s, char *t) { int i, j, sl; sl = strlen(s); /************found************/ if(sl%2) Sl-=2; else Sl--; /参考答案:if(sl%2) sl-=2; else sl--;/ for (i=sl, j=0; i>=0; i-=2) { t[2*j] = s[i]; t[2*j +1] = s[i]; j++; } /************found************/ t[2*sl] = '0'; /参考答案:t[2*j] = '\0';/ } main() { char s[100], t[100]; clrscr(); printf("\nPlease enter string s:"); scanf("%s", s); fun(s, t); printf("The result is: %s\n", t); } 第7题 给定程序MODI1.C中函数 fun 的功能是:把在字符串s中出现的每个字符,紧随其后重复出现一次,形成一个新串放在t中,且在t中把原相邻字符的位置进行了交换。 例如:当s中的字符串为:"ABCDE"时, 则t中的字符串应为:"BBAADDCCEE"。 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! Modi1.c #include #include #include void fun (char *s, char *t) { /************found************/ int i, j; /参考答案:int i,j,sl;/ sl = strlen(s); for (i=0, j=0; i { if (i+1 < sl) { t[2*j] = s[i+1]; t[2*j +1] = s[i+1]; j++; } t[2*j] = s[i]; t[2*j +1] = s[i]; /************found************/ j--; /参考答案:j++;/ } t[2*sl] = '\0'; } main() { char s[100], t[100]; clrscr(); printf("\nPlease enter string s:"); scanf("%s", s); fun(s, t); printf("The result is: %s\n", t); } 第8题 给定程序MODI1.C中函数 fun 的功能是:将在字符串s中出现、而未在字符串t中出现的字符形成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符。 例如:当s = "AABCDE",t = "BDFG"字符。 u中的字符串为"AACE"。 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! Modi1.c #include #include #include /************found************/ void fun (char *s, char *t, char u) /参考答案:void fun (char *s, char *t, char *u) { int i, j, sl, tl; sl = strlen(s); tl = strlen(t); for (i=0; i { for (j=0; j if (s[i] == t[j]) break; /************found************/ if (j>tl) /参考答案:if (j>=tl) *u++ = s[i]; } *u = '\0'; } main() { char s[100], t[100], u[100]; clrscr(); printf("\nPlease enter string s:"); scanf("%s", s); printf("\nPlease enter string t:"); scanf("%s", t); fun(s, t, u); printf("the result is: %s\n", u); } 第9题 给定程序MODI1.C中函数 fun 的功能是:将未在字符串s中出现而在字符串t中出现的字符形成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符。 例如:当s = "ABCDE",t = "BDFGG"时, u中的字符串为"FGG"。 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! Modi1.c #include #include #include void fun (char *s, char *t, char *u) { int i, j, sl, tl; sl = strlen(s); tl = strlen(t); /************found************/ for (i=0; i/************found************/ { for (j=0; j if (t[i] == s[j]) break; if (j>=sl) *u++ = t[i]; } /************found************/ u = '\0'; /参考答案 *u = '\0'; } main() { char s[100], t[100], u[100]; clrscr(); printf("\nPlease enter string s:"); scanf("%s", s); printf("\nPlease enter string t:"); scanf("%s", t); fun(s, t, u); printf("The result is: %s\n", u); } 第10题 给定程序MODI1.C中函数 fun 的功能是:将既在字符串s中出现又在字符串t中出现的字符构成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符。 例如:当s="ABBCDE",t="BDFG"时,u中的字符串为:"BBD"。 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! Modi1.c #include #include #include void fun (char *s, char *t, char *u) { int i, j, sl, tl; sl = strlen(s); tl = strlen(t); for (i=0; i { for (j=0; j if (s[i] == t[j]) break; /************found************/ if (j>=tl) /参考答案if (j *u++ = s[i]; } /************found************/ *u = '0'; /参考答案*u = '\0'; } main() { char s[100], t[100], u[100]; clrscr(); printf("\nPlease enter string s:"); scanf("%s", s); printf("\nPlease enter string t:"); scanf("%s", t); fun(s, t, u); printf("The result is: %s\n", u); }
|