洛谷p1980c语言
时间: 2023-12-02 13:40:40 浏览: 88
洛谷p1980是一道C语言题目,要求编写一个程序,计算在1到n的所有整数中,数字x(0<=x<=9)共出现了多少次。下面是两种C语言的解法:
1.使用scanf输入n和x,然后使用while循环遍历1到n的所有整数,对于每个整数,使用while循环取出它的每一位数字,如果该数字等于x,则将计数器sum加1。最后输出sum即可。
```c
#include <stdio.h>
int main() {
int n,x,sum;
scanf("%d%d",&n,&x);
for(int i=1;i<=n;i++){
int t=i;
while(t!=0){
int m=t%10;
if(m==x){
sum++;
}
t/=10;
}
}
printf("%d",sum);
return 0;
}
```
2.同样使用scanf输入n和x,然后使用for循环遍历1到n的所有整数,对于每个整数,使用while循环取出它的每一位数字,如果该数字等于x,则将计数器m加1。最后输出m即可。
```c
#include <stdio.h>
int main() {
int n,x;
int m; //出现次数
scanf("%d%d",&n,&x);
for(int i=1;i<=n;i++) {
int b=i;
while(b) //检索b中出现x的次数
{
if(b%10==x)
m++;
b/=10;
}
}
printf("%d",m);
return 0;
}
```
阅读全文