| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5357 人关注过本帖
标题:求输入15个字符,计算其中字符,数字,空格的个数.....
只看楼主 加入收藏
坠落着的云
Rank: 2
等 级:论坛游民
帖 子:42
专家分:61
注 册:2011-4-26
结帖率:75%
收藏
已结贴  问题点数:3 回复次数:11 
求输入15个字符,计算其中字符,数字,空格的个数.....
#include<stdio.h>
main()
{
    char c[15];
    int a=0,b=0,m=0,i;
    for(i=0;i<=14;i++)
        scanf("%c",&c[i]);
    for(i=0;i<=14;i++)
    {
        if(c[i]=' ')
            a++;
        else if(c[i]>='0' && c[i]<='9')
            b++;
        else if(c[i]>='a' && c[i]<='z')
            m++;
    }
    printf("字母%d 数字%d 空格%d",a,b,m);
}



我是求输入15个字符,计算其中字符,数字,空格的个数.....但是就是求不出来,所有的个数都到第一个上,老是a=15 b=0
求解啊
搜索更多相关主题的帖子: 计算 
2011-05-22 22:23
江南烟雨0590
Rank: 2
等 级:论坛游民
帖 子:21
专家分:42
注 册:2011-5-22
收藏
得分:0 
=是赋值,==是判断,把第一个判断空格的=换成==就Ok啦。
2011-05-22 22:55
248698530
Rank: 2
等 级:论坛游民
帖 子:46
专家分:22
注 册:2008-1-10
收藏
得分:0 
路过,顺便学习了。
2011-05-22 22:58
坠落着的云
Rank: 2
等 级:论坛游民
帖 子:42
专家分:61
注 册:2011-4-26
收藏
得分:0 
.....改了就出现能检测出来的错误了.....
2011-05-22 23:06
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
这个错误很明显
if(c[i]=' ') ==》 if(c[i]==' ')

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-22 23:46
小兵打将
Rank: 1
等 级:新手上路
帖 子:47
专家分:5
注 册:2011-4-24
收藏
得分:0 
if(c[i]=' ')



这一行错了,
应该改为c[i]==' '
缺了一个等号,相当于赋值,结果都回执行if后面的语句的
2011-05-23 00:46
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
告诉楼主一个技巧

比如说比较一个整形变量a 是否等于 那么你写成 if(5 == a)

这样如果不小心写成了  if(5 = a)那么编译报错 因为变量不能赋值给常量

                                         
===========深入<----------------->浅出============
2011-05-24 09:55
chenjin1st
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:26
专家分:44
注 册:2011-5-13
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
  int i=0,mu=0,ch=0,sp=0;
  char *str;
  str=(char *)calloc(20,sizeof(char));
  printf("请您输入15任意的字符\n");
  do{
   str[i]=getchar();
   i++;
  }while(str[i-1]!='\n');
  str[i+1]='\0';
  i=0;
  while(str[i]!='\0'){
  if(str[i]==' ') sp++;
  if((str[i]>=62&&str[i<=90])||(str[i]>=97&&str[i]<=122)) ch++;
  if(str[i]>=48&&str[i]<=57) mu++;
  i++;
  }
  printf("这个字符串里面有%d个空格\n",sp);
  printf("这个字符串里面有%d个字母\n",ch);
  printf("这个字符串里面有%d个数字\n",mu);
  free(str);
  return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册

共同进步,共同收获!!!!
2011-05-24 10:14
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
收藏
得分:0 
回复 7楼 laoyang103
同意!

因为有了因为,所以有了所以,既然已成既然,何必再说何必
2011-05-24 11:28
qianyou
Rank: 3Rank: 3
来 自:江西南昌
等 级:论坛游侠
帖 子:76
专家分:189
注 册:2011-3-25
收藏
得分:0 
同意8楼的,用ASCII码值做更易于理解!但是你要先知道那些ASCII的值是多少!
2011-05-24 21:53
快速回复:求输入15个字符,计算其中字符,数字,空格的个数.....
数据加载中...
 
   



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

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