C语言程序设计(第三版)何钦铭著 习题5-5
题目
使用函数统计指定数字的个数∶
读入一个整数,统计并输出该数中"2"的个数。
要求定义并调用函数 countdigit(number,digit),它的功能是统计整数 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;
}