| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 809 人关注过本帖, 1 人收藏
标题:一个简单的程序,,,,,我是菜菜鸟
只看楼主 加入收藏
a447340229
Rank: 2
等 级:论坛游民
帖 子:22
专家分:19
注 册:2012-12-18
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:15 
一个简单的程序,,,,,我是菜菜鸟
#include<stdio.h>
main()
{
    int i,a=0,b=0,c=0,d=0;
    char n;
    printf("please enter :");
    for(i=0;i<20;i++)
    {
        if(scanf("%c",&n)!='\0')
        {
            if((n>='a'&&n<='z')||(n>='A'&&n<='Z'))
                a++;
            else if(n>=0&&n<=9)
                b++;
            else if(n=' ')
                c++;
            else d++;
        }
    }
    printf("字母有:%d个\n数字有:%d个\n空格有:%d个\n其他字符有:%d个\n",\
            a,b,c,d);
}
目的是输入一串数据  将其中的各类型数据进行计数,包括字母,数字,空格和其他字符,不知道能不能定义一个没有形的变化的量来根据输入啥就随机变成啥。。。。。以上只能计算字母和空格。。。求助高人
搜索更多相关主题的帖子: please include 
2012-12-24 18:19
善ing
Rank: 2
来 自:华东师范
等 级:论坛游民
帖 子:34
专家分:19
注 册:2012-11-18
收藏
得分:2 
else if(n>=0&&n<=9)
应改为
else if(n>=‘0’&&n<=’9’)
解释一下~”不知道能不能定义一个没有形的变化的量来根据输入啥就随机变成啥。。。。”

-------------怀疑这题来自oj╭(╯ε╰)╮

邂逅c  (⊙o⊙)
2012-12-24 19:43
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:2 
理解字符的ASSCII

www.qunxingw.wang
2012-12-24 20:14
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:2 
加油

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-24 21:00
yudeyinji198
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:133
注 册:2012-8-30
收藏
得分:2 
数字那里也要加''
2012-12-24 21:24
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:2 
这样,啥都能统计,就是有个缺点,回车永远只有一个
程序代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct l{
    char let;
    int total;
    struct l *next;
}letter;
letter * build(letter *,char);
main(){   
    char ch;
    letter *head=NULL,*p;
    printf("请随意输入字符,以符号回车表示输入结束:");
    fflush(stdin);
    while(1){
        if((ch=getchar())!='\n')
            head=build(head,ch);
        else break;
    }
    p=head;
        for(;p!=NULL;p=p->next)
        printf("字符%c共%d个。\n",p->let,p->total);
        printf("回车符1个。、n");
   
   return ;
}

letter * build(letter *head,char ch){
    letter *p,*q;
    q=head;
    for(;q!=NULL;q=q->next){
        if(ch==q->let)
        {q->total++;return head;}

    }
    if((p=(letter *)malloc(sizeof(letter)))==NULL){
        printf("操作失败!");return NULL;}
        p->let=ch;
        p->total=1;
        p->next=NULL;
    if(head==NULL){
        head=p;
        return head;
        }
    q=head;
    for(;q->next!=NULL;)q=q->next;
    q->next=p;
    return head;
    }

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-24 21:32
a447340229
Rank: 2
等 级:论坛游民
帖 子:22
专家分:19
注 册:2012-12-18
收藏
得分:0 
回复 6楼 yaobao
谢谢  这个程序包含的知识非常综合  学习学习!!

每个月总有那么几天要上论坛好好学习学习。。
2012-12-24 22:24
a447340229
Rank: 2
等 级:论坛游民
帖 子:22
专家分:19
注 册:2012-12-18
收藏
得分:0 
回复 2楼 善ing
谢谢,改过之后  那个其他字符的个数还是不能统计,,,,

每个月总有那么几天要上论坛好好学习学习。。
2012-12-24 22:34
小飞蛋
Rank: 2
来 自:江西财经大学
等 级:论坛游民
帖 子:9
专家分:20
注 册:2012-12-21
收藏
得分:2 
六楼的程序怎么运行不起来啊?咋回事哦?

追求C的言语。希望可以用TA来解释我的世界。
2012-12-24 22:46
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
不能啊,我刚又试了下,没问题啊,你用的什么编译器啊

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-24 22:53
快速回复:一个简单的程序,,,,,我是菜菜鸟
数据加载中...
 
   



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

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