在线编译器 C

#include <stdio.h> int main() { int N,K,b,c,length=0; scanf("%d %d",&N,&K); if(N>=0&&(K>=1&&K<=10)){ c=N/10; do{length=length+1}; while(c!=0) length=length-1; if(length>=K){ for(int i=0;i<K;i++){ c=N/10; b=N%10; N=c; } printf("%d",b); }; }; return 0; }
1) 这段代码试图读取两个整数N和K,计算N的位数,然后输出N的第K位数字(从最低位开始计数)。

2) 提示:
- 注意do-while循环的语法错误,循环体需要用大括号括起来
- 计算数字长度的逻辑存在问题,应该用循环统计所有位数而不是先除10