| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 999 人关注过本帖
标题:【求助】一到N数字中总共出现多少个7,里面有我的代码,希望能帮助一下
只看楼主 加入收藏
我是毅哥
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-12-8
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:5 
【求助】一到N数字中总共出现多少个7,里面有我的代码,希望能帮助一下
题目描述

统计从1到n的出现的所有整数中,有多少个7。例如:1-8有1个7,1-18有两个7(7,17中有两个),1-28有三个7(7,17,27),1-77有16个7(7,17.。67,70,71,71,。。77总共16个7)。现在希望你统计1到任意整数数字7出现的个数。

输入

输出一个正整数n,表示需要统计1-n中数字7出现的个数,输入以0结束

输出

每输入一个数,输出1-n中7出现个个数,每个输出占一行。

#include<stdio.h>
int main()
{
    int a,b,c,d,e;
    while(1)
    {
            scanf("%d",&a);
            if(a==0)
            break;
            if(a<=10&&a==7&&a!=0)
            printf("1");
            else if(a<=10&&a!=7)
            printf("0");
            
            
            else if(a<11)
            continue;
         {
                 b=1;
            for(d=11;d<=a;d++)
            {
            for(;d>10;d/10)
               {
                 e=d%10;
                 if(e==7) b++;
               }
            if(d==7) b++;
            }
            printf("%d",b);
         }
    }
    system("pause");
    return 0;
}
搜索更多相关主题的帖子: 数字 代码 
2010-12-21 19:05
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:3 
程序代码:
#include<stdio.h>
#include <stdlib.h>
int main()
{
    int a,b=0;
    scanf("%d",&a);
    if(a>7)
    {
        for (int i=7;i<=a;i+=10)
        b++;
    }
    else
    {
        b=1;

    }
    printf("%d",b);
    system("pause");
    return 0;
}
试试  不足地方请指教

                                         
===========深入<----------------->浅出============
2010-12-21 19:23
牛鼻子老道
Rank: 2
等 级:禁止发言
帖 子:26
专家分:13
注 册:2010-12-21
收藏
得分:3 
提示: 作者被禁止或删除 内容自动屏蔽
2010-12-21 19:51
我是毅哥
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-12-8
收藏
得分:0 
哈哈  这确实是一道ACM题目  我已经解决了,下面的是我的代码,希望大家一起交流一下,哈哈哈、

#include<stdio.h>
int main()
{
    int a,b,c,d,e;
    while(1)
    {

            scanf("%d",&a);
            if(a==0)
            break;
            if(7<=a&&a<=10)
            printf("1\n");
            if(0<=a&&a<=6)
            printf("0\n");  
               if(a>10)
       {
                 b=1;
            for(d=11;d<=a;d++)
            {   
            for(c=d;c>10;)
               {
                 e=c%10;
                 if(e==7)
                 b++;
                 c=c/10;
               }
            if(c==7) b++;
            }
            printf("%d\n",b);
      
        }
    }

    return 0;
}
2010-12-21 22:52
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:3 
楼主的代码看不懂啊,while(1)不是无限循环么?那你如何跳出这段循环呢

我是初学者
2010-12-22 09:32
我是毅哥
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2010-12-8
收藏
得分:0 
            scanf("%d",&a);
            if(a==0)
            break;
if语句就可以让a为0的时候,跳出循环
2010-12-23 08:31
快速回复:【求助】一到N数字中总共出现多少个7,里面有我的代码,希望能帮助一下 ...
数据加载中...
 
   



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

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