跳转至

while 循环

while 循环

while 循环

// while 循环语法格式
while (条件语句) {
    ...
    ...
}

数位拆分

判断整数的位数

int n;
cin >> n;

int t = 0;
while (n) {
    n /= 10;
    t++;
}

cout << t;

输出各个数上的数字之和

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 是多少)

输入样例:1 7 3 4 5

输出样例:20

int sum = 0, x;
while (cin >> x) {
    sum += x;
}

cout << sum;
// 也可以这样写
int sum = 0, x;
while (scanf("%d", &x) == 1) {
    sum += x;
}

cout << sum;

很难理解,cinscanf 竟然还有返回值,是的,有返回值。

cin 返回是否成功读入

scanf 返回成功读入几个数