| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1864 人关注过本帖
标题:编写一个程序统计一个20个字符以内字符串内数字的数目。
只看楼主 加入收藏
ZZlove
Rank: 2
等 级:论坛游民
帖 子:29
专家分:28
注 册:2010-3-7
结帖率:25%
收藏
已结贴  问题点数:20 回复次数:5 
编写一个程序统计一个20个字符以内字符串内数字的数目。
我勉强编了一个,但不知道该如何控制最多只能是20个字符,求教。
#include "stdio.h"
#include "conio.h"
main()
{
  char c;
  int digit=0;
  while((c=getchar())!='\n')
  if(c>='0'&&c<='9')
  digit++;
  printf("%d",digit);
 }
搜索更多相关主题的帖子: 字符 数字 编写 统计 
2010-06-03 23:10
ZZlove
Rank: 2
等 级:论坛游民
帖 子:29
专家分:28
注 册:2010-3-7
收藏
得分:0 
我又弄了个一个字符串数组的,
#include <stdio.h>
#include <conio.h>

void main()
{
    int i,d=0;
    char str[20];
printf("Input a string\n");
    gets (str);

    for( i=0; str[i]!='\0&&i<20'; i++ )
    {
        if ( (str[i]<'9') && (str[i]>'0') )  
        d++;  }

    printf("%d\n", d);
   
}
我想要的结果是当我输入的字符多余20个时,它只统计前20个字符中数字的个数,这个好像 对了,有好心人能改得再好点吗?
2010-06-04 00:14
炫舞小子
该用户已被删除
收藏
得分:6 
提示: 作者被禁止或删除 内容自动屏蔽
2010-06-04 00:16
z9895512
Rank: 2
等 级:论坛游民
帖 子:24
专家分:43
注 册:2010-6-3
收藏
得分:6 
是控制只能输入20个以内字符还是控制只记录20个以内字符?
前者就必须做大改动,以下是我修改后的程序,运行无误:
#include "stdio.h"
#include"string.h"//加了一个字符函数头文件
main()
{
  char c[20];
  int i,j,digit=0;

  for(;;)
  {
      scanf("%s",c);
  i=strlen(c);
    if(i>20)
      printf("超出字符长度,请输入20个以内字符\n");
    if(i<=20)
    {
        for(j=0;j<=i;j++)
        {
            if(c[j]>='0'&&c[j]<='9')digit++;
        }
        break;
    }
  }
  printf("%d\n",digit);
}

后者:
只要加入红色的那行就行~~~

#include "stdio.h"
#include "conio.h" //顺便问一下这个头文件需要用到吗?
main()
{
  char c;
  int digit=0;
  while((c=getchar())!='\n')
  {
      if(digit==20)break;
  if(c>='0'&&c<='9')
  digit++;
  }
  printf("%d",digit);
}
2010-06-04 00:21
ZZlove
Rank: 2
等 级:论坛游民
帖 子:29
专家分:28
注 册:2010-3-7
收藏
得分:0 
回复 4楼 z9895512
#include "conio.h" //顺便问一下这个头文件需要用到吗?
这句应该不用哈,顺便问下这句什么情况下用呢?我自己又随便写了个
#include"stdio.h"
#include"conio.h"
main()
{
      int i,d=0;
      char str[20];
       for(i=0;i<20;i++)
      {scanf("%c",&str[i]);
      if(str[i]>='0'&&str[i]<='9')
      d++;
      else if(str[i]=='\n')
      break;}
      printf("%d",d);
      getch();
      }
只是控制记录20个的。
谢谢帮忙啊,主保佑你。
2010-06-04 23:48
IVADWTF
Rank: 1
来 自:大连
等 级:新手上路
帖 子:9
专家分:9
注 册:2010-4-25
收藏
得分:6 
#include<stdio.h>
#include<string.h>
main()
{
 char s1[20],*p;
 int count=0;
 p=s1;
 puts("请输入一个字符串");
 gets(s1);
 while(*p!='\0')
 {
  if(*p>='0'&&*p<='9')
      count++;
  *p++;
 }
 printf("数字个数为为:%d\n",count);
}
不知是不是你想要的
2010-06-05 09:41
快速回复:编写一个程序统计一个20个字符以内字符串内数字的数目。
数据加载中...
 
   



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

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