hsk123456 发表于 2020-4-1 01:27:23

新手求助!!

题目:从键盘读入若干个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。

(疑问:排序那部分代码有问题,我输入CHINA CANADA INDIA,输出的确是INDIA CHINA CHINA,想问一下排序那里到底哪里出错了?)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
FILE *fp;
int i,j;
int n=3;
char temp,str,file1;
printf("Enter strings:\n");

for(i=0;i<n;i++)
{
    scanf("%s",str);
}
for(i=0;i<n;i++)
{
    for(j=i+1;j<n;j++)
        {
          if(strcmp(str,str)>0)
         strcpy(temp,&str);
             strcpy(&str,&str);
               strcpy(&str,temp);
        }
}
if((fp=fopen(file1,"w"))==NULL)
{
   printf("can't open file!\n");
   exit(0);
}
printf("\nThe new sequence:\n");
for(i=0;i<n;i++)
{
   fputs(str,fp);
   fputs("\n",fp);
   printf("%s\n",str);
}

}

BngThea 发表于 2020-4-1 08:28:54

if判断后面用大括号括起来

hsk123456 发表于 2020-4-1 23:51:05

BngThea 发表于 2020-4-1 08:28
if判断后面用大括号括起来

对哦,我粗心了!谢谢了!!
页: [1]
查看完整版本: 新手求助!!