| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1138 人关注过本帖
标题:一切编译都是通过的,但是判断的时候输出的都是”The words are not anagra ...
只看楼主 加入收藏
阿贞小朋友
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-3-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:16 
一切编译都是通过的,但是判断的时候输出的都是”The words are not anagrams“
判断输入的两个单词是否为变位单词,就两个单词组成的成分都相同

#include<stdio.h>
#include<ctype.h>
#include <string.h>
#define SIZE  81
void order_frist(char frist[],int) ;
void order_second(char second[],int n );
int main(void)
{
    int i=0 , j = 0, k  ;
    int I , J ; //记录两个数组的实际长度
    char frist[SIZE];
    char second[SIZE];
    char ch  ;
    printf("Enter frist word :");
   while((ch = getchar ()) != '\n') //输入第一个单词存于数组first
    {
            frist[i] = ch ;
            i ++ ;
    }
    printf("Enter second word :");
    while((ch = getchar ()) != '\n')//输入第二个单词存于数组second
    {
            second[j] = ch ;
            j ++ ;
    }
     I = strlen(frist);
     J = strlen(second) ;
    if(I == J)
    {

            void order_first( first , i) ;
            void order_second( second ,j );//调用函数
            for(k = 0 ; k < I ; k++)
            {
                if(frist[k] != second[k])//判断是否为变位单词
                    break ;
                     
            }
            if(frist[k] != second[k])
                printf("The words are not anagrams.\n");
            else
                printf("The words are  anagrams.\n");
         
    }
    else
        printf("The words are not anagrams.\n");
    return 0 ;
}

void order_first(char frist[] ,int n ) //对第一个数组进行内部排序
{
    int i ,j ;
    char temp ;
    for (i=0; i<n-1; i++)
    {   
        for(j = 0 ; i < n ; i++)
        {
            if(frist[j] < frist[i] )
            {
                temp = frist[i];              
                 frist[i] = frist[i];
                 frist[j] = temp;

            }
        }

   
    }
   
}

void order_second(char second[] ,int n )//对第二个数组进行内部排序
{
    int i,j ;
    char temp ;
 for (i=0; i<n-1; i++)
    {  
        for(j = i+1 ; j < n ; j++)
        {
            if(second[j]<second[i])
            {
                temp = second[i];              
                 second[i] = second[j];
                 second[j] = temp;

            }
        }

    }

}
搜索更多相关主题的帖子: include second Enter 单词 记录 
2014-04-30 15:52
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
这是原版代码  能通过编译????

DO IT YOURSELF !
2014-04-30 15:58
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:2 
输入字符串怎么不用 gets()呢?
2014-04-30 15:59
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:0 
            void order_first( first , i) ;
            void order_second( second ,j );//调用函数
函数调用不能带类型名!
2014-04-30 16:07
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:2 
输入的时候没有字符串结束符

总有那身价贱的人给作业贴回复完整的代码
2014-04-30 18:27
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:2 
排序居然需要两个函数。如果有100数组需要排序该怎么办?
2014-04-30 21:37
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:0 
重新编写一个吧。这个毛病太多了。
2014-04-30 21:40
C_lscll
Rank: 2
等 级:论坛游民
帖 子:22
专家分:18
注 册:2014-2-6
收藏
得分:2 
void order_first(char frist[] ,int n ) //对第一个数组进行内部排序
{
     int i ,j ;
     char temp ;
     for (i=0; i<n-1; i++)
     {   
         for(j = 0 ; i < n ; i++)       //程序没有看完,这里不应该是i吧
         {
             if(frist[j] < frist[i] )
             {
                 temp = frist[i];              
                  frist[i] = frist[i];
                  frist[j] = temp;
             }
         }
     }
 }
2014-05-03 20:47
C_lscll
Rank: 2
等 级:论坛游民
帖 子:22
专家分:18
注 册:2014-2-6
收藏
得分:0 
请把所以的first拼写正确,前后不一致,有的地方是first 有的拼写错误,所以会出很多问题。
2014-05-03 20:52
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:2 
    if(I == J)
    {

            void order_first( first , i) ;
            void order_second( second ,j );//调用函数
            for(k = 0 ; k < I ; k++)
            {
……
唉,那两行是函数调用吗?发现不少人连语言的基本成分都还没有了解,就开始写程序。更主要的没有从一开始就学习好的编程思想。
2014-05-03 20:55
快速回复:一切编译都是通过的,但是判断的时候输出的都是”The words are not a ...
数据加载中...
 
   



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

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