C语言项目说明】输入整数n和k,输出n中从右端开始的第k个数字的值(k从1开始)。 将求n中右端第k个数字定义成函数digit(n,k),如果k超过了n的位数,则函数返回-1;否则返回n中第k个数字。 例如:digit(345876,4)=5,digit(345,4)=-1。
时间: 2024-02-06 17:09:20 浏览: 73
C语言程序设计-求一个大于10的n位整数的后n-1位的数,并作为函数值返回;
5星 · 资源好评率100%
以下是使用 C 语言编写的解题代码:
```c
#include <stdio.h>
int digit(int n, int k) {
int count = 0;
while (n > 0) {
count++;
if (count == k) {
return n % 10;
}
n /= 10;
}
return -1;
}
int main() {
int n, k;
printf("请输入整数n和k:\n");
scanf("%d%d", &n, &k);
if (k > 0 && k <= 10) {
int result = digit(n, k);
if (result >= 0) {
printf("n中右端第%d个数字为%d\n", k, result);
} else {
printf("k超过了n的位数,返回值为%d\n", result);
}
} else {
printf("k的值必须在1~10之间\n");
}
return 0;
}
```
首先定义了一个名为 `digit()` 的函数,该函数接收两个参数 `n` 和 `k`,用于求出 `n` 中右端第 `k` 个数字的值。在函数内部,使用 `while` 循环对 `n` 进行逐位取余,直到找到第 `k` 个数字时返回该数字。如果 `k` 超过了 `n` 的位数,则函数返回 `-1`。
在 `main()` 函数中,首先要求用户输入整数 `n` 和 `k`。然后判断 `k` 的值是否在 1~10 之间,如果不在,则输出提示信息。如果在,则调用 `digit()` 函数,并根据返回值输出结果。
以上就是本题的解题思路和代码实现。
阅读全文