| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 505 人关注过本帖
标题:急,程序无错误但结果不对
只看楼主 加入收藏
ijnbhu8
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-4-24
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:5 
急,程序无错误但结果不对
我是新新手,程序无错误但结果不对
请教
我现在大概写了这些,求教啊.
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#define FLUSH while (getchar() != '\n')

#define MAX_SIZE 256
#define WORD_SIZE 46

void getString (void);
void createPiglatinVersion(char *inputStr);
int getWord (char *inputStr,char *wordStr, int index);
void getPigLatin(char *temp, char *wordStr, int index);
bool isVowel(char oneword);
void printString(char *inputStr, char *outputStr);
bool repeatFcn(void);


int main (void)
{

    char inputStr[MAX_SIZE];
    char outputStr[MAX_SIZE];
   
    getString();
    createPiglatinVersion(inputStr);
    printString(inputStr, outputStr);
   
    system("pause");
    return 0;
}

void getString (void)
{
     char inputStr[MAX_SIZE];
    
     printf("\nEnter a sentence (end with [Enter]):");
     fgets(inputStr, sizeof(inputStr), stdin);
     while (strlen(inputStr)>256)
          {
           FLUSH;
          }


 
}

void createPiglatinVersion(char *inputStr)
{
     char outputStr[MAX_SIZE];
     char temp[WORD_SIZE];
     char wordStr[WORD_SIZE];
     int index = 0;
     int i;
    
     for(i=0; i<MAX_SIZE; ++i)
          {
           getWord ( inputStr, wordStr, index);
           getPigLatin( temp,  wordStr, index);
           if (isalpha(*(inputStr+i))== false)
                outputStr[i]=* (inputStr+i);
           else
               {
                strcpy(outputStr, temp);
                i=i+index;
                }
          }
}

int getWord (char *inputStr,char *wordStr, int index)
{
    
    
     int i;
     for (i=0;i<WORD_SIZE&&isalpha(inputStr[index]);++i);
         {
          wordStr[i]=inputStr[index];
          index++;
          }
     wordStr[i]='\0';
     return index;
}

void getPigLatin(char *temp, char *wordStr, int index)
{
    char czTemp[WORD_SIZE];
    if(isVowel(*wordStr)!=false&&isVowel(*(wordStr+1)))
    {
        strcpy(temp, wordStr);
        // temp[strlen(temp)+1]='\0';
        strcat(temp,"ay");
    }
    else if(isVowel(*wordStr)!=false&& isVowel(*wordStr+1)!=false)
    {
        strcpy(temp,wordStr+2);

        czTemp[0] = wordStr[0];
        czTemp[1] = wordStr[1];
        czTemp[2] = '\0';
        strcat(temp, czTemp);

        //temp[strlen(temp)]=*(--wordStr);
        //temp[strlen(temp)-1]=*(wordStr-2);
        //temp[strlen(temp)+1]= '\0';
        strcat(temp,"AY");
    }
    else if(isVowel(*wordStr))
    {
        strcpy(temp, wordStr);
        //  temp[strlen(temp)+1]='\0';
        strcat(temp,"way");
    }

}

bool isVowel(char oneword)
{
     oneword = toupper(oneword);
     return ((oneword=='A' || oneword=='E' || oneword=='I' || oneword=='O' || oneword=='U'));//&&(oneword!='Y')); 
}


void printString(char *inputStr, char *outputStr)
{
     printf("The string you entered: %c\n", *inputStr);
     printf("The string converted to Pig Latin: %c\n", *outputStr);
}

bool repeatFcn(void)
{
     char check;
    
     printf("\nTry another? (y for yes): ");
     scanf(" %c", &check);    
     if(check=='Y'||check=='y')       
         return true;   
     else       
         return false;
}



[ 本帖最后由 ijnbhu8 于 2010-5-4 10:51 编辑 ]
搜索更多相关主题的帖子: 结果 
2010-05-03 15:59
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:7 
额……可以写的短一点……

专心编程………
飞燕算法初级群:3996098
我的Blog
2010-05-03 18:28
ijnbhu8
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-4-24
收藏
得分:0 
请问有哪里可以改的呢?
createPiglatinVersion这个call function怎么写呢
2010-05-03 22:42
ijnbhu8
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-4-24
收藏
得分:0 
顶啊顶
2010-05-04 10:51
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
建议分几步来做:

第一步,划分成词,
第二步,对划分的词处理
第三步,得到第二步的结果,和不处理的符号合在一起输出。

专心编程………
飞燕算法初级群:3996098
我的Blog
2010-05-04 20:40
ijnbhu8
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-4-24
收藏
得分:0 
回复 5楼 StarWing83
我现在不知道怎么改了啊,
写是写完了
谁帮我看看吧,谢谢
2010-05-06 07:59
快速回复:急,程序无错误但结果不对
数据加载中...
 
   



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

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