| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1623 人关注过本帖
标题:从键盘输入一个字符串,统计并输出字符串中字符、数字、和其他符号的个数, ...
只看楼主 加入收藏
lcq131419
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2014-4-21
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:4 
从键盘输入一个字符串,统计并输出字符串中字符、数字、和其他符号的个数,为什么数不出结果?求解决谢谢!!
#include<stdio.h>
#define N 100
void fun(char *p)
{
    int i,k=0,j=0,g=0;
    for(i=0;*p!='\0';i++)
    {
        if(*p >= 'a' && *p <= 'z' || *p >= 'A' && *p <= 'Z')
            j++;
        else if(*p >= '0' && *p <= '9')
                  k++;
        else
            g++;

    }
    printf("%d\n%d\n%d",j,k,g);
}
void main()
{   
     int j=0,k=0,g=0;
    char a[N];
    printf("输入一个字符串:");
    scanf("%s",a);
    fun(a);

}
搜索更多相关主题的帖子: 字符串 include 键盘 统计 
2014-06-07 15:40
不知道呀
Rank: 2
来 自:青岛
等 级:论坛游民
帖 子:17
专家分:15
注 册:2014-3-23
收藏
得分:5 
不应该是i++吧,应该改为p++
2014-06-08 11:54
不知道呀
Rank: 2
来 自:青岛
等 级:论坛游民
帖 子:17
专家分:15
注 册:2014-3-23
收藏
得分:5 
改过来应该没问题了
2014-06-08 11:55
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:5 
回复 楼主 lcq131419
程序代码:
#include<stdio.h>
#define N 100
void fun(char *p)        //在fun()中,p一开始指向什么地方?
{
    int i,k=0,j=0,g=0;
    for(i=0;*p!='\0';i++)          //  在for循环中p的值也一直没有改变,如何让for结束循环?
    {
        if(*p >= 'a' && *p <= 'z' || *p >= 'A' && *p <= 'Z')   
            j++;
        else if(*p >= '0' && *p <= '9')
                  k++;
        else 
            g++;

    }
    printf("%d\n%d\n%d",j,k,g);
}
void main()
{    
     int j=0,k=0,g=0;
    char a[N];
    printf("输入一个字符串:");
    scanf("%s",a);
    fun(a);

}


可以为直接为p添加下标解决, 或者定义一个数组,然后让p指向该数组, 在for循环中,运用适当的下标对p进行适当的操作.

代码测试环境:  WinXP+C-Free5.0.
2014-06-08 15:04
l15596425443
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-8-16
收藏
得分:0 
回复 楼主 lcq131419
for语句改成for(i=0;*p[i]!='\0';i++)
下面的*p都改成*p[i]就好了,你试下
2016-08-16 18:41
快速回复:从键盘输入一个字符串,统计并输出字符串中字符、数字、和其他符号的个 ...
数据加载中...
 
   



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

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