用C语言写下面这道题目 编写函数:int isOddDigit(int num ); 判断某整数是否只由奇数数字构成(若是返回1,否则返回0),并用主函数测试之。
时间: 2023-12-03 12:45:18 浏览: 134
下面是用C语言编写的程序:
```
#include <stdio.h>
int isOddDigit(int num);
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isOddDigit(num)) {
printf("%d只由奇数数字构成\n", num);
} else {
printf("%d不只由奇数数字构成\n", num);
}
return 0;
}
int isOddDigit(int num) {
while (num != 0) {
int digit = num % 10;
if (digit % 2 == 0) {
return 0;
}
num /= 10;
}
return 1;
}
```
程序首先定义了函数`isOddDigit`,该函数的作用是判断一个整数是否只由奇数数字构成。该函数使用一个`while`循环,每次取出整数的最低位,判断该位是否为奇数,如果是偶数则返回0,否则将整数除以10继续判断下一位。如果整数的所有位都是奇数,则返回1。
主函数中首先提示用户输入一个整数,并使用`scanf`函数读入该整数。然后调用函数`isOddDigit`判断该整数是否只由奇数数字构成,并根据判断结果输出相应的信息。最后程序返回0表示正常结束。
相关问题
用c语言编写函数,判断一个整数是否为奇数。如果是奇数,函数返回1,否则返回0
可以使用取模运算符 `%` 判断一个整数是否为奇数。如果一个数能被2整除,那么它就是偶数,否则就是奇数。
以下是实现代码:
```c
#include <stdio.h>
int isOdd(int num) {
if (num % 2 == 1) {
return 1; // 是奇数,返回1
} else {
return 0; // 不是奇数,返回0
}
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isOdd(num)) {
printf("%d是奇数\n", num);
} else {
printf("%d不是奇数\n", num);
}
return 0;
}
```
在这个程序中,我们先定义了一个`isOdd`函数,它接受一个整数作为参数,返回1或0。然后在`main`函数中,我们读入一个整数,调用`isOdd`函数判断它是否为奇数,最后输出结果。
你可以输入不同的整数进行测试。
编用c语言写一个程序,该程序中包含以下函数: 1. 函数1:输入一个数字,判断它是奇数还是偶数。 2. 函数2:输入一个整型数n,计算n!=n*(n-1)*(n-2)*…1 3. 函数3:使用递归调用完成函数2的内容 4. 函数4:实现两个数相加(输入整数、浮点数)实现函数重载
#include <stdio.h>
// 函数1:判断奇偶数
void judge(int num) {
if(num % 2 == 0) {
printf("%d是偶数\n", num);
} else {
printf("%d是奇数\n", num);
}
}
// 函数2:计算n的阶乘
int factorial(int n) {
int result = 1;
for(int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
// 函数3:递归计算n的阶乘
int factorial_recursive(int n) {
if(n <= 1) {
return 1;
} else {
return n * factorial_recursive(n-1);
}
}
// 函数4:整数相加
int add(int a, int b) {
return a + b;
}
// 函数4:浮点数相加
float add(float a, float b) {
return a + b;
}
int main() {
int num = 7;
judge(num);
int n = 5;
int result1 = factorial(n);
printf("%d的阶乘是%d\n", n, result1);
int result2 = factorial_recursive(n);
printf("%d的阶乘是%d\n", n, result2);
int int1 = 5, int2 = 6;
float float1 = 3.2, float2 = 4.5;
printf("%d + %d = %d\n", int1, int2, add(int1, int2));
printf("%.1f + %.1f = %.1f\n", float1, float2, add(float1, float2));
return 0;
}
阅读全文