c语言编程题 在一个内容为英文的文本文件中file1.txt文件中的单词之间用空格分隔,且两个单词
答案:2 悬赏:40 手机版
解决时间 2021-04-05 06:09
- 提问者网友:龅牙恐龙妹
- 2021-04-04 15:05
c语言编程题 在一个内容为英文的文本文件中file1.txt文件中的单词之间用空格分隔,且两个单词
最佳答案
- 五星知识达人网友:七十二街
- 2021-04-04 16:21
这题目是谁想出来的,看起来简单,名堂一堆,写死人了……
#include
#include
#include
void Swap(char *s1, char *s2)
{
char tmp[20] = {''};
strcpy(tmp, s1);
strcpy(s1, s2);
strcpy(s2, tmp);
}
void ReadIt(FILE *fp, char *arr[], int *n)
{
while (!feof(fp)) {
arr[*n] = (char *)malloc(sizeof(char) * 20);
fscanf(fp, "%s ", &arr[*n][0]);
(*n)++;
}
}
void SortIt(char *arr[], int n)
{
for (int i = 0; i < n; i++)
for (int j = 0; j < i; j++)
if (strcmp(arr[i], arr[j]) > 0)
Swap(arr[i], arr[j]);
}
void WriteIt(char *arr[], int n, FILE *fp)
{
while (--n >= 0)
fprintf(fp, "%s ", &arr[n][0]);
}
int main()
{
char *word[300] = {''};
int count = 0;
FILE *fp1, *fp2;
fp1 = fopen("file1.txt", "r");
fp2 = fopen("file2.txt", "w");
if (!fp1 || !fp2) {
puts("Error!");
return 0;
}
ReadIt(fp1, word, &count);
SortIt(word, count);
WriteIt(word, count, fp2);
fclose(fp1);
fclose(fp2);
while (--count >= 0)
free(word[count]);
return 0;
}附件是编译成功的文件及测试输入文件和测试输出文件。
#include
#include
#include
void Swap(char *s1, char *s2)
{
char tmp[20] = {''};
strcpy(tmp, s1);
strcpy(s1, s2);
strcpy(s2, tmp);
}
void ReadIt(FILE *fp, char *arr[], int *n)
{
while (!feof(fp)) {
arr[*n] = (char *)malloc(sizeof(char) * 20);
fscanf(fp, "%s ", &arr[*n][0]);
(*n)++;
}
}
void SortIt(char *arr[], int n)
{
for (int i = 0; i < n; i++)
for (int j = 0; j < i; j++)
if (strcmp(arr[i], arr[j]) > 0)
Swap(arr[i], arr[j]);
}
void WriteIt(char *arr[], int n, FILE *fp)
{
while (--n >= 0)
fprintf(fp, "%s ", &arr[n][0]);
}
int main()
{
char *word[300] = {''};
int count = 0;
FILE *fp1, *fp2;
fp1 = fopen("file1.txt", "r");
fp2 = fopen("file2.txt", "w");
if (!fp1 || !fp2) {
puts("Error!");
return 0;
}
ReadIt(fp1, word, &count);
SortIt(word, count);
WriteIt(word, count, fp2);
fclose(fp1);
fclose(fp2);
while (--count >= 0)
free(word[count]);
return 0;
}附件是编译成功的文件及测试输入文件和测试输出文件。
全部回答
- 1楼网友:迷人又混蛋
- 2021-04-04 16:50
哥 你学这个啊 给我编个外挂呗
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯