| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1359 人关注过本帖
标题:实在是太有挑战性了,运行失败了,呜呜!创建一个文本文件为输入的字符串排 ...
只看楼主 加入收藏
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
结帖率:69.23%
收藏
已结贴  问题点数:20 回复次数:27 
实在是太有挑战性了,运行失败了,呜呜!创建一个文本文件为输入的字符串排序问题 c语言 想到头都快爆了,有没有帮看下的
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void sort(char array[][50],int n);
void explode(char str[],char str2[][50],char c);
int main()
{   
FILE *fp;
int k=0,i;
 char str[100];
 char cl[100];
   char str2[30][50];
if((fp=fopen("d:\\cprogram\\123.txt","w"))==NULL)
 { printf("open file default"); exit(0); }
printf("输入几个字符串:");
scanf("%d\n",&k);
gets(str);
fprintf(fp,"%s",str);
 printf("输入文件成功\n");
if((fp=fopen("d:\\cprogram\\123.txt","r"))==NULL)
{  printf("open the file default");  exit(0); }  
while(fscanf(fp,"%s",cl)>0)      
  printf("%s",cl);     
  explode(cl,str2,' ');// 这个函数用来把c转化为二维数组,方便排序
sort(str2,k);//二维数组排序 printf("输出排序好后的字符串:");  
  for(i=0;i<k;i++)            
puts(str2[i]);   
fclose(fp);  
return 0;}
void sort(char array[][50],int n)  
 {    char temp[100];   
 int i,j,k;   
for(i=0;i<n-1;i++)   
 {      
  k=i;     
   for(j=i+1;j<n;j++)         
  if(strcmp(array[k],array[j])>0)   
        k=j;     
   if(k!=i)      
 {         
  strcpy(temp,array[i]);         
     strcpy(array[i],array[k]);   
         strcpy(array[k],temp);     
   }   
 }
}
void explode(char str1[],char str2[][50],char c)//转化为二维数组,不过正确与否还不确定
{
 char *p;  
int i=0,j=0;
 p=str1;   
 while(*p)
{   if(*p!=c)
       {    str2[i][j+1]=*p;   }  
 else  
{    str2[i][j]='\0';//为字符串加结尾符号;  
     i++;   
     j=0;      
 }   
p++;
 }
 str2[i][j]='\0';

}程序出来没有排序就直接跳出了,怎么修改好
搜索更多相关主题的帖子: c语言 字符串 include 文本文件 default 
2015-01-07 14:17
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:5 
一看代码排版我就不想看了
2015-01-07 14:36
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
这代码改不了  得做大手术

DO IT YOURSELF !
2015-01-07 15:07
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
收藏
得分:0 
回复 3楼 wp231957
就没有希望了吗
2015-01-07 15:11
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
收藏
得分:0 
回复 3楼 wp231957
首先输入几个字符串
写入文件是可以的,不过读取出来到屏幕却不行,就这个可以改改吗?
2015-01-07 15:13
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
之所以说 需要动手术 是因为以下2点原因

1、字符串排序函数 我认为不应该使用strcpy函数
2、你函数的参数使用二维数组

这些理念不一致  导致我无法修改你的代码

DO IT YOURSELF !
2015-01-07 15:20
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
收藏
得分:0 
回复 6楼 wp231957
不然能不能帮我直接写个简单的,这个我寒假在慢慢改。
写了两天了,,
2015-01-07 15:23
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
收藏
得分:0 
回复 7楼 NeQhk
实在是没辙了。。
2015-01-07 15:25
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
收藏
得分:0 
回复 8楼 NeQhk
因为我是为几个字符串比较的,
所以才想到用二维数组的
2015-01-07 15:27
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
你把具体的需求再重新描述一下

DO IT YOURSELF !
2015-01-07 15:29
快速回复:实在是太有挑战性了,运行失败了,呜呜!创建一个文本文件为输入的字符 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012865 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved