Run ID:6138
提交时间:2025-01-07 13:18:31
#include <stdio.h> #include <stdlib.h> int main() { int x; printf("#输入x:"); scanf("%d", &x); int n = _scprintf("%d", x); if (x < 0) { --n; } printf("#您输入的数由%d个数字组成。\r\n", n); system("pause"); } 不断除10的方法 另一种方法是将这个数不断除以10,直到它变成0为止,在这个过程中计数除法的次数,这个次数就是数字的位数。 int n = 1; while (x) { x /= 10; ++n; } // n就是位数 这两种方法都可以有效地计算出一个整数中包含的数字个数。需要注意的是,_scprintf()函数是Microsoft Visual C++特有的,如果你使用的是其他编译器,可能需要采用第二种方法。