| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 524 人关注过本帖
标题:统计问题
只看楼主 加入收藏
tangjingwei
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2009-11-6
收藏
 问题点数:0 回复次数:7 
统计问题
描述:

输入一行字符(字符个数小于255),统计其中不同的大写和小写字母的个数。每个数字占一行。

输入:

一行测试数据

输出:

不同的大写和小写字母的个数,每个数字占一行。



输入样例:

Da; cDb。。.” D

输出样例:

1
3

不知道怎么入手啊,菜鸟级,请高手们指点

搜索更多相关主题的帖子: 统计 
2010-10-19 23:36
wzqsunb
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:57
专家分:130
注 册:2010-10-11
收藏
得分:0 
作业贴吧!给你点指点:首先定义一个数组char s[100],int i,j=0,k=0;应该够大了,再输入数组中的值  gets(s);然后进行判断
for(i=0;s[i]!='\0',i++)
{if(s[i]>='a'||s[i]<='z')
j++;
if(s[i]>='A'||s[i]<='Z')
k++;
}
printf("%d\n%d",j,k);你自己把语句组织好吧!
2010-10-20 00:25
system3288
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:79
专家分:140
注 册:2010-10-9
收藏
得分:0 
#include "stdafx.h"
#include <windows.h>


int _tmain(int argc, _TCHAR* argv[])
{
    int i,j=0,k=0;
    char s[255];
    printf("请输入一行字符:\n");
    gets(s);
    for (i=0;s[i]!='\0';i++)
    {
        if(s[i]>='a'&&s[i]<='z')
            j++;
        if(s[i]>='A'&&s[i]<='Z')
          k++;
    }
    printf("字符的小写个数是:%d\n字符的大写个数是:%d\n",j,k);
    system("pause");
    return 0;
}
不知道是不是你要的效果。
2010-10-20 12:11
tangjingwei
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2009-11-6
收藏
得分:0 
回复 2楼 wzqsunb
不是这样的,这就太简单了,要求的是不同的大写字母个数和不同的小写字母的个数,如AAABBCggfeeeeq
不同的大写字母个数为:3
不同的小写字母的个数:4
2010-10-20 13:15
曾小
Rank: 1
等 级:新手上路
威 望:1
帖 子:239
专家分:0
注 册:2006-9-27
收藏
得分:0 
要分别给大写和小写字母定义数组,再比较输入的和这两个数组中的元素是否相等

2010-10-20 15:45
wzqsunb
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:57
专家分:130
注 册:2010-10-11
收藏
得分:0 
回复 4楼 tangjingwei
那你就再定义两个数组,第一个数组里放统计了的大写字母,另一个放小写字母,最后把两数组里的不同字母计算出来就行了,思路就是这样了,你自己在试试!遇到问题最好自己解决,除非你实在解决不了的,相信这个问题你能解决的!
2010-10-20 21:20
tangjingwei
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2009-11-6
收藏
得分:0 
回复 6楼 wzqsunb
嗯,有道理,小弟刚学,所以很多东西还不明白,谢谢各位
下面是我写的代码(正确的),希望对其他和我一样水平的同行有所帮助
#include<stdio.h>
#include<string.h>
main()
{
    char a[255],b[255],c[255],b1[255],c1[255];
    int i,j,m=0,n=0,len,x=0,y=0;
    gets(a);
    len=strlen(a);
    for(i=0;i<len;i++)
    {
        if(a[i]>='a'&&a[i]<='z')
        {
            b[m++]=a[i];
        }
        if(a[i]>='A'&&a[i]<='Z')
        {
            c[n++]=a[i];
        }
    }
    for(i=0;i<m;i++)
    {
        for(j=i+1;j<m;j++)
            if(b[i]==b[j])
            {
                b[j]=0;
            }
    }
    for(i=0;i<m;i++)
    {
        if(b[i]!=0)
            b1[x++]=b[i];
    }
    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
            if(c[i]==c[j])
            {
                c[j]=0;
            }
    }
    for(i=0;i<n;i++)
    {
        if(c[i]!=0)
            c1[y++]=c[i];
    }
    //printf("小写字母:%d 大写字母:%d\n",x,y);
    printf("%d\n%d\n",y,x);
}
2010-10-22 19:41
Annie5
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2010-10-22
收藏
得分:0 
#include "stdio.h"
void main(){
    char s[255];
    char pre[255]={0};
    int i;
    int j;
    int ca=0;
    int cb=0;
    gets(s);
    for(i=0;s[i]!='\0';i++){
        for(j=0;j<=i;j++){
            if(pre[j]==s[i]){
             break;
            }
        }
        if(j>i){
            if(s[i]>=65&&s[i]<=90){
                ca++;
            }
            if(s[i]>=97&&s[i]<=122){
                cb++;
            }
                  pre[i]=s[i];
        }

    }
    printf("%d\n",ca);
    printf("%d\n",cb);
    getch();
}
我也写了一个。请赐教
2010-10-23 11:24
快速回复:统计问题
数据加载中...
 
   



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

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