标题:请帮忙看下,如何输入知道文件结束。
取消只看楼主
ybj159687318
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-12-12
结帖率:0
已结贴  问题点数:20 回复次数:4 
请帮忙看下,如何输入知道文件结束。
您好!我有两个问题想问您。

第一个问题描述
输入若于书名,每个书名长度不超过100,将书按ASCII顺序,从小到大排序。
输入
输入书名个数不定,直到文件结束为止。
输出
将字符串按ASCII码从小到大排序后输出。
输入样列
Java
Basic
C#
Fortran
Delphi
输出样例
Basic
C#
Delphi
Fortran
Java


我的程序:
#include<stdio.h>
#include<string.h>
#include<malloc.h>
void SortStr(char *a[],int n){
    char b[100],*temp=(char*)malloc(sizeof(char)*200);
    int i,j;
    for(i=0;i<n-1;i++)
       for(j=i+1;j<n;j++)
          if(strcmp(a[i],a[j])>0){
              strcpy(temp,a[j]);
              strcpy(a[j],a[i]);
              strcpy(a[i],temp);
          }
       free(temp);
}
int main(void){
    char p[200],*q[200];
    int i,n=0;
    scanf("%s",p);
    while(p[0]!='#'){
        q[n]=(char*)malloc(sizeof(char)*strlen(p));
        strcpy(q[n],p);
        scanf("%s",p);
        n++;
    }
    SortStr(q,n);
    for(i=0;i<n;i++){
        printf("%s\n",q[i]);
        free(q[i]);
    }   
    return 0;
}

第二个问题描述
输入若于书名,每个书名长度不超过100,将书按ASCII顺序,从小到大排序。
 
请注意:这些书名中可能有“空格”。
输入
第一个为字符串个数m,然后输入m个书名。
输出
将字符串按ASCII码从小到大排序后输出。
输入样列
5
Java
Basic
C#
Fortran
Delphi

输出样例
Basic
C#
Delphi
Fortran
Java

我的程序:
#include<stdio.h>
#include<string.h>
#include<malloc.h>
void SortStr(char *a[],int n){
    char b[100],*temp=(char*)malloc(sizeof(char)*100);
    int i,j;
    for(i=0;i<n-1;i++)
       for(j=i+1;j<n;j++)
          if(strcmp(a[i],a[j])>0){
              strcpy(temp,a[j]);
              strcpy(a[j],a[i]);
              strcpy(a[i],temp);
          }
       free(temp);
}

int main(void){
    char b,p[100],*q[100];
    int i,n;
    scanf("%d",&n);
    getchar();
    if(n>200){
        printf("Overflow!");
        return 0;
    }
    for(i=0;i<n;i++){
        scanf("%s",p);
        q[i]=(char*)malloc(sizeof(char)*strlen(p));
        strcpy(q[i],p);
    }
    SortStr(q,n);
    for(i=0;i<n;i++){
        printf("%s\n",q[i]);
        free(q[i]);
    }   
    return 0;
}

您能帮我看看哪错了吗?
搜索更多相关主题的帖子: 如何 字符串 include 
2015-12-12 20:07
ybj159687318
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-12-12
得分:0 
可以帮我修改一下吗?
2015-12-13 11:52
ybj159687318
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-12-12
得分:0 
回复 3楼 hellovfp
可以帮我修改一下吗?
2015-12-13 11:53
ybj159687318
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-12-12
得分:0 
回复 7楼 wmf2014
可以帮我修改好吗?
还有那个第一题不能输入#来结束,运行时只能输入书名
2015-12-13 17:08
ybj159687318
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-12-12
得分:0 
flushall();
这个运行不了
2015-12-17 15:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-460165-1-1.html




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

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