C语言小练习-第6期【答题领鱼币】
本帖最后由 xiaosi4081 于 2020-7-28 17:08 编辑致歉:
由于最近沉迷于学习.....,所以忘记更新了,今天,我们就接着来答题领鱼币吧
请统计某个给定范围的所有整数中,数字2出现的次数。
比如在给定范围,数字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号公布)
**** Hidden Message ***** 本帖最后由 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;
}
没人吗? 我来学习学习 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')
萌新操作,不足之处麻烦大佬指正{:10_266:} #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;
}
#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);
} #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);
} guard99 发表于 2020-7-25 13:45
#include
void main()
要有个逗号1 #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 . . .
********************************************* 浊水_清山 发表于 2020-7-25 09:45
def count_2(L,R):
count=0
l=int(L)
这里是c++专区OK?{:10_245:}
不是python专区{:10_245:} xiaosi4081 发表于 2020-7-25 19:55
这里是c++专区OK?
不是python专区
{:10_285:}{:10_266:}眼里只有鱼币,打扰了 66 你好,要怎么回答呀,我今天刚通过的邮箱验证 #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;
} 本帖最后由 泛浮 于 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;
}
本帖最后由 泛浮 于 2020-7-26 13:29 编辑
泛浮 发表于 2020-7-26 01:15
#include
#include
int main()
j = j+1哪里之前直接放进循环造成了一个浮动数,困了我5分钟。。。。 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) #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;
}
#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;
}
页:
[1]
2