鱼C论坛

 找回密码
 立即注册
查看: 1062|回复: 5

[已解决]编程求助

[复制链接]
发表于 2020-11-15 19:41:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
怎么用C语言求1~100中含有数字5的整数个数
最佳答案
2020-11-15 19:55:15
#include <stdio.h>

int main(void){
        int ans = 0;
        for(int i = 1; i <= 100; ++i){
                int temp = i;
                while(temp){
                        if(temp%10==5){
                                ++ans;
                                break;
                        }
                        temp /= 10;
                }
        }
        printf("%d",ans);
        return 0;
} 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-15 19:49:17 | 显示全部楼层
#include <stdio.h>

main(void)
{
        int i , m                                                                   ;
        for(m = 0 , i = 5 ; i < 101 ; i += 5 , m ++) printf("%d\t%d\n" , m + 1 , i) ;
}
        编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
1       5
2       10
3       15
4       20
5       25
6       30
7       35
8       40
9       45
10      50
11      55
12      60
13      65
14      70
15      75
16      80
17      85
18      90
19      95
20      100

D:\00.Excise\C>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-15 19:55:15 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>

int main(void){
        int ans = 0;
        for(int i = 1; i <= 100; ++i){
                int temp = i;
                while(temp){
                        if(temp%10==5){
                                ++ans;
                                break;
                        }
                        temp /= 10;
                }
        }
        printf("%d",ans);
        return 0;
} 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-15 19:55:25 | 显示全部楼层
jackz007 发表于 2020-11-15 19:49
编译、运行实况:

老哥这个我知道写,我想问的是在1~100之间,怎么求含有某个特定数字的整数个数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-15 20:08:41 | 显示全部楼层
本帖最后由 jackz007 于 2020-11-15 20:16 编辑
anhongkiusu 发表于 2020-11-15 19:55
老哥这个我知道写,我想问的是在1~100之间,怎么求含有某个特定数字的整数个数。

        试试这个代码
#include <stdio.h>

main(void)
{
        int d , i , m                                                ;
        printf("input an integer : ")                                ;
        scanf("%d" , & d)                                            ;
        for(i = 1 ; i % d ; i ++)                                    ;
        for(m = 0 ; i < 101 ; i += d) printf("%d\t%d\n" , m + 1 , i) ;
}
        关键是找到第一个数,然后,只要继续循环累加,直到 100 就可以了。
        找第一个数用到了取余运算,a % b 就是取 a 除以 b 的余数,如果能整除,则 a % b 的值等于 0,否则为非 0。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-15 20:35:27 | 显示全部楼层
本帖最后由 风过无痕1989 于 2020-11-15 20:41 编辑
#include<stdio.h>

int main()
{
        int i, shi, ge, count = 1;
        for (i = 5;i <= 100;i++)
        {
                if (i == 5)
                        printf("%d ", i);
                shi = i / 10;
                ge = i % 10;
                if ((shi % 5 == 0 || ge % 5 == 0) && (i >= 10 && shi != 10 && ge != 0))
                {
                        printf("%d ", i);
                        count++;
                }
        }
        printf("\n");
        printf("1 ~ 100 内带数字 5 的数共有:%d 个\n", count);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 13:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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