| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 472 人关注过本帖
标题:大师帮个忙
只看楼主 加入收藏
when159357
Rank: 2
等 级:论坛游民
帖 子:50
专家分:71
注 册:2009-11-11
结帖率:90%
收藏
已结贴  问题点数:20 回复次数:7 
大师帮个忙
读入整数  统计并输出数字中重复的数的个数  cd(num,digit)
eg.   cd(100900,0)   返回值为4

我试着做了一个  我的思路是  输入数  判断是几位数  然后把每位数分离开   从最高位 和digit 比对  然后 i++  
返回i 的值   我用的是  else if做的  但是不知道哪有问题  而且程序很繁琐  希望高手能指点下小弟
搜索更多相关主题的帖子: 大师 
2009-11-13 18:19
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:0 
帖代码出来

想象力征服世界
2009-11-13 18:40
when159357
Rank: 2
等 级:论坛游民
帖 子:50
专家分:71
注 册:2009-11-11
收藏
得分:0 
#include<stdio.h>
void cd(int num,int digit)
{
      int i ;i = 0;
    if(num/100000>0){
        num/100000 == digit ;
        i++;
        num%100000/10000 == digit ;
        i++;
        num%100000%10000/1000 == digit ;
        i++
        num%100000%10000%1000/100 == digit;
        i++;
        num%100000%10000%1000%100/10 == digit;
        i++;
        num%100000%10000%1000%100%10 == digit;
        i++;
    }
    else if(num/10000>0){
        num/10000 == digit ;
        i++;
        num%10000/1000 == digit ;
        i++;
        num%10000%1000/100 == digit ;
        i++;
        num%10000%1000%100/10 == digit ;
        i++;
        num%10000%1000%100%10 == digit ;
        i++;
    }
    else if(num/1000>0){
        num/1000 == digit ;
        i++;
        num%1000/100 == digit ;
        i++;
        num%1000%100/10 == digit ;
        i++;
        num%1000%100%10 == digit ;
        i++;
        
    }
    else if(num/100>0){
        num/100 == digit ;
        i++;
        num%100/10 == digit ;
        i++;
        num%100%10 ==digit ;
        i++;
        
    }
    else if(num/10>0){
        num/100 == digit ;
        i++;
        num%100/10 == digit ;
        i++;
        num%100%10 == digit ;
        i++;
        
    }
    else {
        num%10 == digit;
        i++;
    }
    return i;
   
}
int main(void)
{
    int num,digit,x;
    void cd(int num,int digit);
    printf("enter num=");
    scanf("%d",&num);
    printf("enter digit=");
    scanf("%d",&digit);
    x = cd(num,digit);
    printf("num=%d digit=%d i=%d",num,digit,x);
    return 0;
}
2009-11-13 18:49
when159357
Rank: 2
等 级:论坛游民
帖 子:50
专家分:71
注 册:2009-11-11
收藏
得分:0 
我新手  不知道怎么弄  所以写成这样了 希望高手给予指正  
2009-11-13 18:50
最手新
Rank: 2
等 级:论坛游民
帖 子:2
专家分:20
注 册:2009-11-13
收藏
得分:20 
#include <stdio.h>
void main()
{
    int i,num=0;
    char b,a[81];
    gets(a);
    scanf("%c",&b);
    for(i=0;a[i]!='\0';i++)
        if(a[i]==b) num++;
    printf("%d",num);
}
2009-11-13 19:28
when159357
Rank: 2
等 级:论坛游民
帖 子:50
专家分:71
注 册:2009-11-11
收藏
得分:0 
高手哦
2009-11-13 19:43
fgchg911
Rank: 4
等 级:业余侠客
威 望:1
帖 子:131
专家分:204
注 册:2009-9-6
收藏
得分:0 
我想了半天,要是字符串就好处理,可要是只有整数,还不得不分出来
从键盘输入时,开始就是字符串,然后转成整数,整数是无法直接输入的,
一定存在原始字符串,不知道楼主有没有办法弄到
2009-11-14 01:25
fgchg911
Rank: 4
等 级:业余侠客
威 望:1
帖 子:131
专家分:204
注 册:2009-9-6
收藏
得分:0 
看样子楼主还没有学到循环,新手能写成这样很不错了
2009-11-14 01:34
快速回复:大师帮个忙
数据加载中...
 
   



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

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