C言語プログラミング(第3版)彼は秦明の演習5-5
トピック
関数を使用して、指定された数値の数をカウントします。
整数を読み取り、数値の「2」の数をカウントして出力します。
関数countdigit(number、digit)を定義して呼び出す必要があります。その関数は、整数の桁数をカウントすることです。
たとえば、countdigit(12292、2)の戻り値は3です。対応するプログラムを書いてみてください。
分析プロセス
入る
条件:整数を入力してください
出力
条件:数値に「2」の数値を出力します。関数countdigit(number、digit)を定義して呼び出す必要があります
コード
#include <stdio.h>
#include <math.h>
int countdigit(int number, int digit);/*函数声明*/
int main () {
/*定义变量*/
int number, digit; /*定义变量,存储输入整数number以及digit*/
/*赋值*/
printf("请输入整数number以及digit:\n"); /*输入提示*/
scanf("%d %d", &number, &digit); /*输入并赋给变量*/
printf("%d中2的数量为%d\n", number, countdigit(number , digit)); /*输出计算结果*/
return 0;
}
int countdigit(int number, int digit){
if(number==0&&digit==0) return 1;
if(number<0) number = -number;/*如果number为负数,转化成正数*/
int count = 0;
while(number!=0){
int gewei = number%10;/*取到number的个位数字*/
if(gewei == digit) count++;/*个位为2时,count加一*/
number = number/10;/*去掉number的个位数字*/
}
return count;
}