这个C语言代码实例的目的是判断输入的数字为几位数。以下是代码的思路:
num
。scanf
函数将用户输入的数字存储在 num
变量中。if
语句来判断 num
的位数。num
小于 10,则它只有一位数。num
大于等于 10 且小于 100,则它有两位数。num
大于等于 100 且小于 1000,则它有三位数。num
大于等于 1000,则它有四位数或更多位数。以下是完整的代码实现:
#include
int main() {
int num;
printf("请输入一个数字:");
scanf("%d", &num);
if (num < 10) {
printf("这个数字是一位数");
} else if (num >= 10 && num < 100) {
printf("这个数字是两位数");
} else if (num >= 100 && num < 1000) {
printf("这个数字是三位数");
} else {
printf("这个数字是四位数或更多位数");
}
return 0;
}
#include
int main() {
double base, result = 1;
int exponent;
printf("请输入一个底数: ");
scanf("%lf", &base);
printf("请输入一个指数: ");
scanf("%d", &exponent);
// 当 exponent 为负数时,将 base 变为倒数并使 exponent 为正数
if (exponent < 0) {
base = 1 / base;
exponent = -exponent;
}
// 循环计算 base 的 exponent 次方
for (int i = 0; i < exponent; i++) {
result *= base;
}
printf("%.2lf 的 %d 次方为 %.2lf", base, exponent, result);
return 0;
}
#include
double power(double base, int exponent);
int main() {
double base, result;
int exponent;
printf("请输入一个底数: ");
scanf("%lf", &base);
printf("请输入一个指数: ");
scanf("%d", &exponent);
result = power(base, exponent);
printf("%.2lf 的 %d 次方为 %.2lf", base, exponent, result);
return 0;
}
double power(double base, int exponent) {
if (exponent == 0) {
return 1;
} else if (exponent == 1) {
return base;
} else if (exponent < 0) {
return 1 / power(base, -exponent);
} else {
return base * power(base, exponent - 1);
}
}
两种方式都是通过输入底数和指数,并计算出结果,其中第一种方式使用了循环,第二种方式使用了递归。
result
变量并将其初始化为 1。scanf
函数将用户输入的底数和指数存储在相应的变量中。for
循环计算底数的指数次方,将结果存储在 result
变量中。power
函数,该函数接受底数和指数作为参数,并返回计算结果。power
函数中,如果指数为 0,则返回 1。power
函数。main
函数中,使用 scanf
函数将用户输入的底数和指数存储在相应的变量中,并调用 power
函数计算结果。以下是三种 C 语言代码实例,用于判断一个数是否为回文数。
#include
int main() {
int num, reversed = 0, remainder, original;
printf("请输入一个整数: ");
scanf("%d", &num);
original = num;
// 将数字反转
while (num != 0) {
remainder = num % 10;
reversed = reversed * 10 + remainder;
num /= 10;
}
// 判断是否为回文数
if (original == reversed) {
printf("%d 是回文数", original);
} else {
printf("%d 不是回文数", original);
}
return 0;
}
#include
int main() {
int num, reversed = 0, remainder, original;
int *ptr_num = &num, *ptr_reversed = &reversed;
printf("请输入一个整数: ");
scanf("%d", ptr_num);
original = num;
// 将数字反转
while (num != 0) {
remainder = num % 10;
*ptr_reversed = *ptr_reversed * 10 + remainder;
num /= 10;
}
// 判断是否为回文数
if (original == reversed) {
printf("%d 是回文数", original);
} else {
printf("%d 不是回文数", original);
}
return 0;
}
#include
int is_palindrome(int num);
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (is_palindrome(num)) {
printf("%d 是回文数", num);
} else {
printf("%d 不是回文数", num);
}
return 0;
}
int is_palindrome(int num) {
static int reversed = 0;
// 将数字反转
if (num != 0) {
reversed = reversed * 10 + num % 10;
is_palindrome(num / 10);
}
// 判断是否为回文数
if (num == reversed) {
return 1;
} else {
return 0;
}
}
三种方法都是通过将输入的数字反转,然后将反转后的数字与原始数字进行比较,来判断是否为回文数。
num
和一个用于存储反转数字的整数变量 reversed
。scanf
函数将用户输入的数字存储在 num
变量中,并将其保存在 original
变量中备用。while
循环将数字反转,并将其存储在 reversed
变量中。original
和 reversed
变量的值,以确定它们是否相等。num
和 reversed
,以及两个指向这些变量的指针 ptr_num
和 ptr_reversed
。scanf
函数将用户输入的数字存储在 num
变量中,并将其保存在 original
变量中备用。while
循环将数字反转,并将其存储在 reversed
变量中。original
和 reversed
变量的值,以确定它们是否相等。is_palindrome
函数,该函数接受一个整数作为参数,并返回一个整数。此函数使用静态变量 reversed
来存储反转数字。is_palindrome
函数中,使用递归将数字反转,并将其存储在 reversed
变量中。main
函数中,使用 scanf
函数将用户输入的数字存储在 num
变量中。is_palindrome
函数来判断 num
是否为回文数。以上是三种方法来判断输入的数字是否为回文数。