| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 363 人关注过本帖
标题:新手求助(这个程序怎么也AC不了!请帮忙看一下,谢谢!)
只看楼主 加入收藏
DYONGJ
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:16
专家分:20
注 册:2012-11-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
新手求助(这个程序怎么也AC不了!请帮忙看一下,谢谢!)
Problem description
  编写一个函数,该函数能够统计一个英文字符串中有多少个单词。
Input
  第一行是整数n,表示测试的数据组数,下面是n行含空格的字符串(仅由空格和英文字符组成,可能为空串)。
Output
  每行输入对应一行输出,表示对应行有多少单词。
#include<iostream>
using namespace std;
#define N 10^6
int main()
{
   char a[N];
   int n,m,i,c,j;
   cin>>n;
   getchar();
   while(n--)
   {
      j=0,c=0;
      cin.getline(a,N);
      m=strlen(a);
      for(i=j;i<m;)
      {
         if(a[i]<'z'&&a[i]>'a'||a[i]<'Z'&&a[i]>'A')
            j++;
         else
         {
            while(a[j]='\0')
               j++;
            c++;
         }
      }
      cout<<c+1<<endl;
   }
   return 0;
}
 
 
搜索更多相关主题的帖子: include 单词 字符串 
2012-11-26 20:22
mmmmmmmmmmmm
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:8
帖 子:388
专家分:1809
注 册:2012-11-2
收藏
得分:15 
楼主 AC不了 你自己输入数据测试就发现问题了  下面的程序供你参考哈
程序代码:
#include <iostream>
#include <string>
using namespace std;

int main(void)
{
    int n;
    cin>>n;
    while (n--)
    {
        string str;
        fflush(stdin);
        getline(cin,str);
        string::size_type i=0;
        int cnt=0;
        if (str.empty())
        {
            cout<<cnt<<endl;
            continue;
        }
        else
        {
            for ( ; i<str.size(); i++)
            {
                if (str[i] == ' ')//题目说明空格为标记
                {
                    ++cnt;
                }
            }
            cout<<cnt+1<<endl;
        }

    }
    return 0;
}

我们的目标只有一个:消灭0回复!
while(1)
++money;
2012-11-26 22:33
DYONGJ
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:16
专家分:20
注 册:2012-11-15
收藏
得分:0 
那这个程序可不可以用数组来解答?
2012-11-28 17:52
huang1938120
Rank: 2
等 级:论坛游民
帖 子:51
专家分:41
注 册:2012-10-30
收藏
得分:5 
俺也新手表示不懂
2012-11-28 18:30
DYONGJ
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:16
专家分:20
注 册:2012-11-15
收藏
得分:0 
程序代码:
#include<iostream>
using namespace std;
#define N 250
int main()
{
   int i,n,m,y;
   char a[N];
   cin>>n;
   getchar();
   while(n--)
   {
      y=0;
      cin.getline(a,N);
      m=strlen(a);
      for(i=0;i<m;i++)
         if((a[i]>'a'&&a[i]<'z'||a[i]>'A'&&a[i]<'Z')&&(a[i+1]==0||a[i+1]==32))
            y++;
      cout<<y<<endl;
   }
   return 0;
}
又修改了一下,但是还是不行,显示的是Wrong Answer
2012-11-30 18:38
DYONGJ
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:16
专家分:20
注 册:2012-11-15
收藏
得分:0 
程序代码:
<M;I++)
      if((a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')&&(a[i+1]==0||a[i+1]==32))
         
<Y<<ENDL;

我找到错了,谢谢大家!
2012-11-30 18:45
快速回复:新手求助(这个程序怎么也AC不了!请帮忙看一下,谢谢!)
数据加载中...
 
   



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

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