输入实数 输出该数的个位数与第 一位小数上的数字的乘积
时间: 2024-10-08 21:10:08 浏览: 43
要实现这个功能,你可以使用C语言中的`scanf`函数读取输入的实数,然后分割成整数部分和小数部分。接着分别获取个位数和第一位小数(对于小数部分,如果它是0.00形式,则忽略),计算它们的乘积。以下是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
double num;
printf("请输入一个实数:");
scanf("%lf", &num); // 读取输入的实数
int integer_part = (int)num; // 整数部分(去掉小数点)
double decimal_part = num - integer_part; // 小数部分
if (decimal_part == 0) { // 如果没有小数,直接用整数部分
int digit = integer_part % 10; // 获取个位数
printf("个位数和第一位小数的乘积为:%d\n", digit * digit);
} else {
int digit = integer_part % 10; // 获取个位数
double first_decimal = decimal_part * 10; // 第一位小数扩大10倍便于计算
int first_decimal_int = (int)first_decimal; // 取整后即为第一位小数
printf("个位数为:%d, 第一位小数为:%d, 乘积为:%d\n",
digit, first_decimal_int, digit * first_decimal_int);
}
return 0;
}
```
在这个程序中,我们首先读取用户输入的实数,然后将其分解成整数和小数两部分。如果没有小数,就直接计算整数部分的个位数;如果有小数,先将小数部分扩大10倍以便于处理,然后同样取出个位数和第一位小数并相乘。
阅读全文