C++新手求解
本人是非计算机专业的,最近在自学C++,很多问题搞不懂,希望大家有时间的能帮帮忙
#include <iostream.h>
void mian()
{
int digit,num;
cout << "输入一个整数:";
cin >> num;
cout << "反向显示结果:";
while (num!=0)
{
digit=num % 10;
num=num / 10;
cout << digit;
}
cout << endl;
}
就拿上面这段来说,我刚看到这的时候还以为!是阶乘,很费解,后来才知道原来是非;
还有%是求余数吗?
digit=num % 10;
num=num / 10;这两句能否帮我具体解释一下?
[解决办法]
! 非
!= 不等于
% 求余
10 % 3 是 1
10 / 3 是 3
这些算是语法的基础,楼主这些不懂的时候应该果断看书,把基础那几章好好通读一下~~
[解决办法]
digit=num % 10;//求除以10之后的余数
num=num / 10;//被除数除以10,也就是说如果num小于10,循环判断就位false,循环退出,有点脱裤子放屁的味道,循环形同虚设,只会执行一次的~
[解决办法]
这段代码是将一个数反向输出。算是比较经典的笔试题了。
举个例子,你可能会更明白些
比如:num 为123
第一次循环: digit = num%10 = 123%10 = 3; num = num/10 = 123/10 = 12; 输出 3
第二次循环: digit = num%10 = 12%10 = 2; num = num/10 = 12/10 = 1; 输出 2
第三次循环: digit = num%10 = 1%10 = 1; num = num/10 = 0; 输出 1
这时num==0,因此要跳出循环。
% 是 取余,
/ 是 除。
注意,两个整数位相除得到的结果还是整数。
[解决办法]
digit=num % 10; 这个是求余数,1234%10=4;
num=num / 10; 这句就是除,1234/10=123;