标签:题目 解题报告 就是 bre 定义 报告 解法 main include
该题涉及了二级指针的应用,当然,因为本题所给出的数据边界清晰,方便我们定义二维数组,所以我采用了二维数组的解法。
1.在结束符‘#‘的处理上,通过先判断结束符,再将内容输入二维数组。
2.我们需要让计算机知道二维数组中有内容的行数,所以设计了变量k来计算行数。
3.题目要求按长度从小到大排序后输出,所以这里我采用冒泡排序(当然还可以用选择排序)。
for (i = 0; i < k - 2; i++) {
min = i;
for (j = i + 1; j < k - 1; j++) {
if (strlen(str[i]) > strlen(str[j]))
{
min = j;
}
}
strcpy(p, str[min]);
strcpy(str[min], str[i]);
strcpy(str[i], p);
}
4.最后就是按题目要求输出了。
#include <stdio.h> #include <string.h> main() { char str[20][10], p[20], q[10]; int i, j, k = 0; while (1) { scanf("%s", q); if (q[0] == ‘#‘)break; else strcpy(str[k], q); k++; } for (i = 0; i < k - 1; i++) for (j = 0; j < k - i - 1; j++) if (strlen(str[j]) > strlen(str[j + 1])) { strcpy(p, str[j]); strcpy(str[j], str[j + 1]); strcpy(str[j + 1], p); } for (i = 0; i < k; i++) printf("%s ", str[i]); }
标签:题目 解题报告 就是 bre 定义 报告 解法 main include
原文地址:https://www.cnblogs.com/chentao123167/p/12051441.html