编程求助
怎么用C语言求1~100中含有数字5的整数个数 #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> #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;
} jackz007 发表于 2020-11-15 19:49
编译、运行实况:
老哥这个我知道写,我想问的是在1~100之间,怎么求含有某个特定数字的整数个数。{:5_111:} 本帖最后由 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。 本帖最后由 风过无痕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);
}
页:
[1]