数字中特定数字的个数
Number of specific digits in a number
#include <stdio.h>
int elofordul(int sz, int szj) {
int count = 0;
while (sz > 0) {
int szj2 = szj % 10;
sz = sz / 10;
if (szj2 == szj)
count++;
}
return count;
}
int main() {
int szam, szj;
scanf("%d", &szam);
scanf("%d", &szj);
printf("%d", elofordul(szam, szj));
return 0;
}
我不知道它有什么问题。它只是打印所有数字。
sz
:数字,szj
:数字
您的函数中有错别字:szj2 = szj % 10
应该是 szj2 = sz % 10
。
变量名、函数名应使用英文名,注释也应使用英文。您的变量名称令人困惑,确实令人困惑。
您的版本中还有另一个潜在的错误:程序可能应该打印 1
输入 0 0
。
这是修改后的版本:
#include <stdio.h>
int count_digit(int number, int digit) {
int count = 0;
for (;;) {
if (number % 10 == digit)
count++;
number /= 10;
if (number == 0)
return count;
}
}
int main() {
int number, digit;
scanf("%d", &number);
scanf("%d", &digit);
printf("%d", count_digit(number, digit));
return 0;
}
#include <stdio.h>
int elofordul(int sz, int szj) {
int count = 0;
while (sz > 0) {
int szj2 = szj % 10;
sz = sz / 10;
if (szj2 == szj)
count++;
}
return count;
}
int main() {
int szam, szj;
scanf("%d", &szam);
scanf("%d", &szj);
printf("%d", elofordul(szam, szj));
return 0;
}
我不知道它有什么问题。它只是打印所有数字。
sz
:数字,szj
:数字
您的函数中有错别字:szj2 = szj % 10
应该是 szj2 = sz % 10
。
变量名、函数名应使用英文名,注释也应使用英文。您的变量名称令人困惑,确实令人困惑。
您的版本中还有另一个潜在的错误:程序可能应该打印 1
输入 0 0
。
这是修改后的版本:
#include <stdio.h>
int count_digit(int number, int digit) {
int count = 0;
for (;;) {
if (number % 10 == digit)
count++;
number /= 10;
if (number == 0)
return count;
}
}
int main() {
int number, digit;
scanf("%d", &number);
scanf("%d", &digit);
printf("%d", count_digit(number, digit));
return 0;
}