标题:编写一个用来统计输入统计的各个数字、空白符(空格、制表符、换行符)以及 ...
只看楼主
五只蚊子
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-12-3
结帖率:100%
已结贴  问题点数:20 回复次数:16 
编写一个用来统计输入统计的各个数字、空白符(空格、制表符、换行符)以及所有其他字符出现次数的程序
程序代码:
#include <stdio.h>
void main ()
{
    int num[10],blank=0,others=0;
    int i,j;
    int a[10];
    printf("Please input:\n");
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
    }
    getchar();
    for(i=0;i<10;i++)
    {
        for(j=0;j<10;j++)
        {
            if(a[i]==j)
                num[j]++;
        }
        if(a[i]==' ')
        {
            blank++;
        }
        else
            others++;
    }
    for(i=0;i<10;i++)
    {
        printf("a[i]=%d\n",a[i]);
    }
    printf("blank=%d\n others=%d\n",blank,others);
}

我这个错的好像过头了
搜索更多相关主题的帖子: 统计 制表符 换行符 
2014-12-23 11:51
五只蚊子
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-12-3
得分:0 
请大家帮我看看,最好可以讲给我听听,希望基础一点
2014-12-23 11:54
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
你是没想清楚怎么解决。

授人以渔,不授人以鱼。
2014-12-23 12:11
五只蚊子
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-12-3
得分:0 
回复 3楼 TonyDeng
完全运行不出正确结果啊
2014-12-23 12:25
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
你這樣肯定不能出正確結果了。你看看題目,要求統計各個數字以及多個控制符的數量,這一大堆結果,需要用什麽方式儲存起來?總不能一個一個變量地寫、給每個變量起一個名字,那麽當然是用數組了!明確了這點,再想怎麽編排數組讓程序處理更快呢?這些問題,靜下心來仔細思考,不要急。直接教你了,就很難長進,以後碰到問題也不會主動思考了,那樣教你是沒用的。

授人以渔,不授人以鱼。
2014-12-23 12:32
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
你輸入數據的方式已經錯了,主要是對問題沒理解的緣故。它要求統計字符,你讀入整數幹嘛?何況10個整數那麽少的數據量,根本都沒有統計的必要。

[ 本帖最后由 TonyDeng 于 2014-12-23 12:37 编辑 ]

授人以渔,不授人以鱼。
2014-12-23 12:35
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:5 
不知道这个能否满足要求

程序代码:
#include <stdio.h>


int main()
{
    printf("Please input:\n");
    char t;
    int num=0;
    int spac=0;
    int other=0;
    int sum=0;
    while(1)
    {
        t=getchar();
        sum++;
        if(t>='0' && t<='9') num++;
        else if(t==' ' || t=='\t') spac++;
        else other++;
        if(t=='\n') break;
    }
    printf("nums is %d\n",num);
    printf("spaces is %d\n",spac);
    printf("others is %d\n",other);
    printf("sum chars is %d\n",sum);
    return 0;
}

DO IT YOURSELF !
2014-12-23 12:39
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:15 
寫程序猶如平時學校做題,必須仔細審題,提取出解題模型和方法,再動手解題。三五分鐘寫一段程序出來,必然是低質的,不要養成這種習慣和性格。

授人以渔,不授人以鱼。
2014-12-23 12:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
空白符(空格、制表符、换行符)
-------------------------------------
制表符 分为 水平制表符 和 垂直制表符
空白符包括
    a. \t 水平制表
    b. \n 换行
    c. \v 垂直制表
    d. \f 换页
    e. \r 回车
    f.    空格
2014-12-23 13:01
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
這是原題文字:
以及所有其他字符

授人以渔,不授人以鱼。
2014-12-23 13:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-440267-1-1.html




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

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