鱼C论坛

 找回密码
 立即注册
查看: 2549|回复: 33

[已解决]C语言小练习-第6期【答题领鱼币】

[复制链接]
发表于 2020-7-24 15:31:24 | 显示全部楼层 |阅读模式
2鱼币
本帖最后由 xiaosi4081 于 2020-7-28 17:08 编辑

致歉:
由于最近沉迷于学习.....,所以忘记更新了,今天,我们就接着来答题领鱼币

请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。
比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出现了1次,在数20中出现了1次,在数21中出现了1次,在数22中出现了2次,所以数字2在该范围内一共出现了6次。


输入格式:
        输入共一行,为两个正整数L和R,之间用一个空格隔开。
输出格式:
        输出共1行,表示数字2出现的次数。



样例 1 :
输入:
3 22
输出:
5

样例 2 :
输入:
2 100
输出:
20


答案:(28号公布)

游客,如果您要查看本帖隐藏内容请回复
最佳答案
2020-7-24 15:31:25
本帖最后由 SHRS23 于 2020-7-24 16:26 编辑
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int l, r;
    int i, j;
    int n = 0;
    scanf("%d%d", &l, &r);

    for(i = l; i <= r; i++)
    {
        j = i;

        while(j > 0)
        {
            if(j % 10 == 2)
            {
                n++;
            }
            j /= 10;
        }
    }

    printf("%d\n", n);
    system("pause");
    return 0;
}

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-24 15:31:25 | 显示全部楼层    本楼为最佳答案   
本帖最后由 SHRS23 于 2020-7-24 16:26 编辑
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int l, r;
    int i, j;
    int n = 0;
    scanf("%d%d", &l, &r);

    for(i = l; i <= r; i++)
    {
        j = i;

        while(j > 0)
        {
            if(j % 10 == 2)
            {
                n++;
            }
            j /= 10;
        }
    }

    printf("%d\n", n);
    system("pause");
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-7-24 17:26:07 | 显示全部楼层
没人吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-24 18:33:04 | 显示全部楼层
我来学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 09:45:34 | 显示全部楼层
def count_2(L,R):
        count=0
        l=int(L)
        r=int(R)
        for x in range(l,r+1):
                while x:
                        if x%10==2:
                                count+=1
                        x=x//10
        return count

L,R=input("输入:\n").split()
print("输出:",count_2(L,R),sep='\n')
萌新操作,不足之处麻烦大佬指正
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 11:45:13 | 显示全部楼层
#include <stdio.h>

int fin_num2(int num1, int num2)
{
        int count = 0;
        for (int i = num1; i <= num2; i++)
        {
                if (i < 20)
                {
                        if ((i % 10 == 2))
                                count++;
                }
                else if (i < 30)
                {
                        if (i == 22)
                                count += 2;
                        else
                                count++;
                }
                else if (i % 10 == 2)
                        count++;
        }
        return count;
}

int main(void)
{
        printf("输入:\n");

        int num1, num2;
        scanf("%d %d", &num1, &num2);
        printf("%d\n", fin_num2(num1, num2));

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 13:45:57 | 显示全部楼层
#include <stdio.h>

void main()
{
        int a,b;
        int i,sum=0,temp,t;
        printf("输入:\n");
        scanf("%d%d",&a,&b);
        for(i=a;i<=b;i++)
        {
                temp=i;
                while(temp)
                {
                        t=temp%10;
                        temp/=10;
                        if(t==2)
                        {
                                sum++;
                        }
                }
        }
        printf("输出:\n%d",sum);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 15:19:39 From FishC Mobile | 显示全部楼层
#include <stdio.h>

int main()
{
        int a,b;
        int i,sum=0,temp,t;
        printf("输入:\n");
        scanf("%d,%d",&a,&b);
        for(i=a;i<=b;i++)
        {
                temp=i;
                while(temp)
                {
                        t=temp%10;
                        temp/=10;
                        if(t==2)
                        {
                                sum++;
                        }
                }
        }
        printf("输出:\n%d",sum);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 15:20:30 From FishC Mobile | 显示全部楼层
guard99 发表于 2020-7-25 13:45
#include

void main()

要有个逗号1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 16:34:33 | 显示全部楼层
#include<stdio.h>
int main()
{
    int L,R,i,n = 0;
        scanf("%d %d",&L,&R);
    if(L < 1000 && L % 100 == 2)                  // 最小数的百位若为2,n加1
        {
        n++;
        }
          else
          {
                if(L < 100 && L % 10 == 2)                // 最小数的十位若为2,n加1
                {           
                        n++;
                }
            else
                {
                   if(L == 2)                            // 最小数的个位若为2,n加1
                   {
                        n++;
                   }
                }
          }
        for(i = L;i <= R;i++)
        {
          if(i % 2 == 0 && i % 4 != 0 && i % 8 != 0 && i % 10 != 0)
                  n++;                  
        }
        printf("%d\n",n);
}

*********************************************
2 22
6
Press any key to continue . . .

*********************************************

*********************************************
2 100
21
Press any key to continue . . .

*********************************************

*********************************************
18 998
197
Press any key to continue . . .

*********************************************
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-7-25 19:55:07 | 显示全部楼层
浊水_清山 发表于 2020-7-25 09:45
def count_2(L,R):
        count=0
        l=int(L)

这里是c++专区OK?
不是python专区
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 21:21:26 | 显示全部楼层
xiaosi4081 发表于 2020-7-25 19:55
这里是c++专区OK?
不是python专区

眼里只有鱼币,打扰了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 21:34:21 | 显示全部楼层
66
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 22:36:22 | 显示全部楼层
你好,要怎么回答呀,我今天刚通过的邮箱验证
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 23:26:36 | 显示全部楼层
#include<stdio.h>



int main() {
    unsigned long long L, R, temp, result = 0;


    for (scanf("%llu%llu", &L, &R); L <= R; ++L) {
        for (temp = L; temp; temp /= 10) {
            result += temp % 10 == 2;
        }
    }


    printf("%llu", result);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-26 01:15:51 | 显示全部楼层
本帖最后由 泛浮 于 2020-7-26 13:28 编辑

#include<stdio.h>
#include<stdlib.h>
int main()
{
        int i,j,k;
        int x= 0;
        int count=0;
        int flag;

        printf("请输入开始整数:");
        scanf("%d",&i);

        printf("请输入结束整数:");
        scanf("%d",&j);

        printf("请输入判断整数:");
        scanf("%d",&k);
        j=j+1;

        for(i;i<j;i++)
{
    flag = i;
                while(i)
        {
                x=i%10;
                if(k == x)
                {
                        count++;

                }
                i=i/10;

        }
    i = flag;
}
        printf("%d",count);
        return;
}
       

        
       
   

     
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-26 02:20:10 | 显示全部楼层
本帖最后由 泛浮 于 2020-7-26 13:29 编辑
泛浮 发表于 2020-7-26 01:15
#include
#include
int main()


j = j+1哪里之前直接放进循环造成了一个浮动数,困了我5分钟。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-26 09:22:32 | 显示全部楼层
l, f = list(map(int, input().split()))
s = 0
for i in range(l, f+1):
    if "2"  in str(i):
        s+=1
print(s)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-26 16:32:19 | 显示全部楼层
#include<iostream >
using namespace std;

int main()
{
        int m, n;
        int count = 0;
        cin >> m >> n;
        for ( m; m <= n; m++)
        {
                int u = m;
                while (u)
                {
                        if (u % 10 == 2)
                        {
                                count++;
                        }
                        u = u / 10;
                } ;
        }
        cout << count;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-26 18:49:13 | 显示全部楼层
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int l, r;
    int i, j;
    int n = 0;
    scanf("%d%d", &l, &r);

    for(i = l; i <= r; i++)
    {
        j = i;

        while(j > 0)
        {
            if(j % 10 == 2)
            {
                n++;
            }
            j /= 10;
        }
    }

    printf("%d\n", n);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 12:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表