C语言课后习题部分答案-原版2012-12-10

顾夕 分享 2025-7-4 下载文档

}

{

printf(\, index[i]); }

return 0;

【6.22】 编程,从键盘输入两个字符串,比较两个字符串,输出它们中第一个不同字符的ASCII码之差,以及符号位置 #include int main(void) { }

printf(\请输入两个字符串\\n\); fflush(stdout); char str1[10]; char str2[10];

scanf(\, str1, str2); fflush(stdin);

int i;

for (i = 0; i < 10; i++) {

if (str1[i] != str2[i]) {

printf(\, i, i, str1[i] - str2[i]); break; } }

return 0;

【7.6】 编函数,把给定字符串的从m开始以后的字符复制到另一个指定的字符串 #include #include int main(void) {

char source[] = \;

int start, i;

printf(\请输入一个整数值\\n\); fflush(stdout);

scanf(\, &start);

}

char target[10];

for (i = start; i < sizeof(source)/sizeof(source[0]); i++) {

target[i - start] = source[i]; }

for (i = 0; i < sizeof(target)/sizeof(target[0]); i++) { printf(\, target[i]); }

printf(\); return 0;

【7.8】 编函数,用指针做参数,实现把字符串str1复制到字符串str2 #include #include

void str_copy(char * str1, char * str2) {

int i = 0;

for (; i < strlen(str1); i++) {

str2[i] = str1[i]; } }

int main(void) {

char * sp;

char source[] = \; sp = source;

char * tp;

char target[5]; tp = target;

str_copy(sp, tp);

int i = 0;

for (; i < sizeof(target); i++) {

printf(\, target[i]);

}

return 0; }

【7.9】 编函数str_delete(char * s, int v, w),从字符串s的第v个字符开始删除w个字符

#include #include

void str_delete(char * s, int v, int w) {

int i = v;

for (; i < strlen(s) - w; i++) {

s[i] = s[i + w]; }

for (i = strlen(s) - w; i < strlen(s); i++) {

s[i] = '\\0'; //字符串的结束符 } }

int main(void) {

char * sp;

char source[] = \; sp = source;

str_delete(sp, 3, 4); int i = 0;

for (; i < strlen(source); i++) {

printf(\, source[i]); }

printf(\, sizeof(source)); return 0; }

【7.10】 编函数,用指针做参数,实现字符串str反向 #include #include

void sort_desc(char * s) { int i = 0;

for (; i < strlen(s) / 2; i++) {

char temp = s[i];

s[i] = s[strlen(s) - i - 1]; s[strlen(s) - i - 1] = temp; } }

int main(void) {

char * sp;

char source[] = \; sp = source;

sort_desc(sp);

int i = 0;

for (; i < strlen(source); i++) {

printf(\, source[i]); }

return 0; }

【7.13】 对给定的n个整数进行位置调整,方案为后m个数移到最前面,而前面n-m个数顺序向后移。

【使用逆序方法解决移位问题】 #include #include

void str_move(char * s, int start, int end) {

int i = 0;

int loop = (end - start) / 2; for (; i <= loop; i++) {

char temp = s[start + i]; s[start + i] = s[end - i]; s[end - i] = temp; } }

int main(void) {

char * sp;

char string[] = \; sp = string;


C语言课后习题部分答案-原版2012-12-10.doc 将本文的Word文档下载到电脑
搜索更多关于: C语言课后习题部分答案-原版2012-12-10 的文档
相关推荐
相关阅读