while 循环
while 循环
while 循环语法格式
数位拆分
判断整数的位数
int n;
cin >> n;
int cnt = 0;
while (n) {
    n /= 10;
    cnt++;
}
cout << cnt;
输出各个位上的数字之和
int n;
cin >> n;
int sum = 0;
while (n) {
    sum += n % 10;  // 当前的个位
    n /= 10;
}
cout << sum;
数字反转
cin >> n;
int t = 0;
while (n) {
    t = t * 10 + n % 10; // 重点语句
    n /= 10;
}
cout << t;
负数的数字反转
// 这个思考题,留给你吧
// 提示,从带余除法出发
不定次输入
输入 n 个数,输出这 n 个数的和(但没有给 n 是多少)
int sum = 0, x;
while (cin >> x) {
    sum += x;
}
cout << sum;
// 也可以这样写
int sum = 0, x;
while (scanf("%d", &x) == 1) {
    sum += x;
}
cout << sum;
可能你很难理解,cin 和 scanf 竟然还有返回值,是的,有返回值。
cin 返回是否成功读入
scanf 返回成功读入几个数 
如果是不定次输入,编译运行,输入样例完毕之后,需要输入一个大写的 EOF,才可以终止输入。
否则,计算机会一直等待你输入下一个数字,看起来像是计算机没有反应了一样。
其实,计算机一直在等待你按键盘。
