| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1043 人关注过本帖
标题:求解,求各位大哥大姐给小弟解答,多谢了。
只看楼主 加入收藏
wotewote
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-1-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:14 
求解,求各位大哥大姐给小弟解答,多谢了。
编写程序,从键盘输入法100个字符,并统记其字母(不分大小写) 空格  数字字符  其它字符的个数。
搜索更多相关主题的帖子: 解答 求解 大姐 
2010-01-27 12:56
Devon_Ye
Rank: 4
来 自:广东
等 级:业余侠客
帖 子:124
专家分:282
注 册:2010-1-7
收藏
得分:5 
闲着没事,整了一个。
#include "stdio.h"
#include "conio.h"
main()
{
  char c;
  int letters=0,space=0,digit=0,others=0;
  printf("please input some characters\n");
  while((c=getchar())!='\n')
  {
    if(c>='a'&&c<='z'||c>='A'&&c<='Z')
      letters++;
      else if(c==' ')
        space++;
        else if(c>='0'&&c<='9')
          digit++;
        else
          others++;
  }
  printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,
  space,digit,others);
  getch();
}
2010-01-27 15:00
Alen0128
Rank: 4
等 级:业余侠客
帖 子:171
专家分:222
注 册:2009-12-26
收藏
得分:5 
有一点,我觉着'\n'也是一种字符,应该不能作为结束标志。所以,我用EOF作为结束标志,其中输入完成后,按“Ctrl+Z”结束。

#include <stdio.h>
int main()
{
    char a = ' ';
    int letters = 0;
    int space = 0;
    int digits = 0;
    int others = 0;

    printf("Please input chracters:\n");
    while (1)
    {
        a = getchar();

        if (a==EOF)
        {
            break;
        }
        else
        {
            if ((a<='z'&&a>='a') || (a>='A'&&a<='Z'))
            {
                letters++;
            }
            else
            {
                if (a==' ')
                {
                    space++;
                }
                else
                {
                    if (a>='0' && a<='9')
                    {
                        digits++;
                    }
                    else
                    {
                        others++;
                    }
                }
            }
        }   
    }

    printf("The characters are %d,the digits are %d,the letters are %d,the space are %d,the other are %d\n",others+digits+letters+space,digits,letters,space,others);

    return 0;
}

-不想让你发现我 凌乱的脚步 ,我努力 跟上你的速度
2010-01-27 15:20
Devon_Ye
Rank: 4
来 自:广东
等 级:业余侠客
帖 子:124
专家分:282
注 册:2010-1-7
收藏
得分:5 
受楼上启发,更新一版,修正'\n'的输入,N可自我定义,例子定义为100.
#include "stdio.h"
#include "conio.h"
#define N 100
main()
{
  char c;
  int letters=0,space=0,digit=0,others=0,n=1;
  printf("please input some characters\n");
  while(n)
  {
    c=getche();
    if(n==N+1)
    {
    printf("the number is enough,please stop input ch\n");
    break;
    }
    if(c>='a'&&c<='z'||c>='A'&&c<='Z')
      letters++;
      else if(c==' ')
        space++;
        else if(c>='0'&&c<='9')
          digit++;
        else
          others++;
    n++;
  }
  printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,
  space,digit,others);
  getch();
}
2010-01-27 16:01
Alen0128
Rank: 4
等 级:业余侠客
帖 子:171
专家分:222
注 册:2009-12-26
收藏
得分:5 
回复 4楼 Devon_Ye
楼上的好!比我的好操作。
不过,有点小错误:(用红字标出)

#include "stdio.h"
#include "conio.h"
#define N 100
main()
{
  char c;
  int letters=0,space=0,digit=0,others=0,n=1;
  printf("please input some characters\n");
  while(n)
  {
    c=getche();          //应该为getchar()
    if(n==N+1)
    {
    printf("the number is enough,please stop input ch\n");
    break;
    }
    if(c>='a'&&c<='z'||c>='A'&&c<='Z')
      letters++;
      else if(c==' ')
        space++;
        else if(c>='0'&&c<='9')
          digit++;
        else
          others++;
    n++;
  }
  printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,
  space,digit,others);
  getch();
}

-不想让你发现我 凌乱的脚步 ,我努力 跟上你的速度
2010-01-27 16:46
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
水题你们都做的这么起劲。。。。


真没追求。。。
2010-01-27 16:56
Alen0128
Rank: 4
等 级:业余侠客
帖 子:171
专家分:222
注 册:2009-12-26
收藏
得分:0 
回复 6楼 Devil_W
学C刚一个学期,本事本来就不多;再说,我是回答别人问题,水不水不重要,主要是给别人解决问题。
闭嘴把你

-不想让你发现我 凌乱的脚步 ,我努力 跟上你的速度
2010-01-27 17:08
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用Alen0128在2010-1-27 17:08:45的发言:

学C刚一个学期,本事本来就不多;再说,我是回答别人问题,水不水不重要,主要是给别人解决问题。
闭嘴把你

他那不是求解,八成是作业贴。

你被别人利用了。
2010-01-27 17:19
Devon_Ye
Rank: 4
来 自:广东
等 级:业余侠客
帖 子:124
专家分:282
注 册:2010-1-7
收藏
得分:0 
以下是引用Devil_W在2010-1-27 17:19:31的发言:


他那不是求解,八成是作业贴。

你被别人利用了。
你要不爽楼主作业贴,就直说嘛
我们又没得罪你,是吧
何必要以高手的身份来讥讽我们这些初学者呢,呵呵
2010-01-27 17:37
Alen0128
Rank: 4
等 级:业余侠客
帖 子:171
专家分:222
注 册:2009-12-26
收藏
得分:0 
回复 8楼 Devil_W
这又不是什么大阴谋,利用就利用吧,又没什么损失

-不想让你发现我 凌乱的脚步 ,我努力 跟上你的速度
2010-01-27 18:27
快速回复:求解,求各位大哥大姐给小弟解答,多谢了。
数据加载中...
 
   



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

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