用c语言实现用户从键盘输入一个正整数n,如果它是一个三位数,就分解这个正整数为个、十、百位三个单独数字a、b、C,然后输出这三个数字的和;否则输出该正整数的平方值2及平方根值sgrt(n)
时间: 2024-10-14 22:11:56 浏览: 35
在C语言中,你可以通过以下步骤实现这个功能:
```c
#include <stdio.h>
#include <math.h>
// 函数声明
void inputAndProcess(int n);
double squareRoot(double num);
int main() {
int n;
printf("请输入一个正整数: ");
scanf("%d", &n);
inputAndProcess(n);
return 0;
}
// 分解并计算和的函数
void inputAndProcess(int n) {
if (n >= 100 && n <= 999) { // 判断是否为三位数
int a = n / 100; // 百位
int b = (n % 100) / 10; // 十位
int c = n % 10; // 个位
printf("数字分解: a=%d, b=%d, c=%d\n", a, b, c);
printf("和 = a + b + c = %d\n", a + b + c);
} else {
double result = sqrt(n); // 计算平方根
printf("对于非三位数,输出其平方值:%.2f\n", n * n);
printf("平方根值:%.2f\n", result); // 输出保留两位小数的平方根
}
}
// 平方根函数,用于计算非三位数的情况
double squareRoot(double num) {
return sqrt(num);
}
```
在这个程序中,我们首先获取用户输入的整数,然后判断它是三位数还是不是。如果是三位数,我们就分别提取个、十、百位并求和。如果不是三位数,我们就直接计算它的平方值和平方根。
阅读全文