用C语言 排序,从name[0]到name[n-1],不允许调用字符串处理的标准库函数,只能 // 调用mystrcmp和mystrcpy函数完成排序。
时间: 2023-06-07 09:09:59 浏览: 54
好的,这是一个关于C语言排序的问题,我可以帮你回答。首先,我们需要使用冒泡排序或者插入排序来对name数组进行排序。我们需要使用mystrcmp函数来比较字符串的大小,使用mystrcpy函数来完成字符串的复制操作。具体实现方法可以参考下面的示例代码:
```c
#include <stdio.h>
int mystrcmp(char *s1, char *s2) {
int i;
for (i = 0; s1[i] == s2[i]; i++) {
if (s1[i] == '\0') {
return 0;
}
}
return s1[i] - s2[i];
}
void mystrcpy(char *dst, char *src) {
int i = 0;
while (src[i] != '\0') {
dst[i] = src[i];
i++;
}
dst[i] = '\0';
}
void sortNames(char **names, int n) {
int i, j;
char tmp[100];
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-1-i; j++) {
if (mystrcmp(names[j], names[j+1]) > 0) {
mystrcpy(tmp, names[j]);
mystrcpy(names[j], names[j+1]);
mystrcpy(names[j+1], tmp);
}
}
}
}
int main() {
char *names[] = {"Jack", "Allen", "Lucy", "Bob", "Mike"};
int n = 5;
int i;
sortNames(names, n);
for (i = 0; i < n; i++) {
printf("%s\n", names[i]);
}
return 0;
}
```
以上就是一个简单的使用C语言实现排序的示例代码,希望能够对你有所帮助。