输入一个3 位数,计算该数各位上的数字之和,如果在[1,12]之内,则输出与和数相对应的月份的英文名称,否则输出***。用c语言指针来完成
时间: 2023-05-17 20:03:29 浏览: 43
如果要用指针来计算一个三位数各位上的数字之和,可以这样写:
```
#include <stdio.h>
int main(void) {
int num, sum = 0;
int *p = # // 定义一个指针变量p,指向num
printf("请输入一个三位数: ");
scanf("%d", &num);
// 使用指针访问各位上的数字
sum += *p / 100;
sum += *p % 100 / 10;
sum += *p % 10;
// 根据sum的值,输出对应的月份的英文名称
if (sum >= 1 && sum <= 12) {
char *months[12] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
printf("%s\n", months[sum - 1]);
} else {
printf("***\n");
}
return 0;
}
```
这段代码的思路是:
1. 定义一个变量`num`来存储输入的三位数,定义一个变量`sum`来存储各位数字之和。
2. 定义一个指针变量`p`,指向`num`。
3. 读入输入的三位数。
4. 使用指针来访问`num`的各位数字,并累加到`sum`中。
5. 根据`sum`的值,输出对应的月份的英文名称,或者输出`***`。
阅读全文