#include <iostream>
#include <cmath>
using namespace std;

int function(int n, int k){
    int digits = log10(n) + 1; // 计算n的位数
    if(k > digits || k < 1){
        return 0; // k不合法,返回0
    }
    return (int)(n / pow(10, k-1)) % 10; // 返回第k位上的数字
}

int main(){
    int n, k;
    while(true){
        cout << "请输入n和k的值(以空格分隔,输入0结束):" << endl;
        cin >> n;
        if(n == 0){
            break; // 输入0结束循环
        }
        cin >> k;
        int result = function(n, k);
        if(result == 0){
            cout << "k不合法,请重新输入!" << endl;
        } else {
            cout << "n从右边开始数的第" << k << "个数字为:" << result << endl;
        }
    }
    return 0;
}
用c++编写一个函数functionint nint k。该函数有2个参数n和k。函数的返回值为数n从右边开始数的第k个数字的值。例如n=1234k为2时函数返回3。若kn 的位数或k1时函数返回0。要求:1编写主函数并从键盘输入n、k的值进行测试。 2在主函数中能够多次输入n、k的值进行测试当输入的n值为0时停止测试。 3结果截图应能够全面印证程序的正确性。

原文地址: https://www.cveoy.top/t/topic/bV8r 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录