在枯燥乏味的编程中,不乏有很多乐趣,就像人生当中有这么多不想经历的事,可当我们一旦真正去做例,才发现它并没有我想象的那么不好,那么有瑕疵,别人总说,人生的道路是需要去走,经历是需要我们实践的,确实如此,今天是我学习编程的第5天了,虽然每天都是7点起床,1点睡觉,一个女生这样天天熬夜对身体不好,可是我还是挺开心的,时间充裕了,人生的目标也更明确了,这样就够了。
今天讲了正序输出和倒数输出数字,一个很小的题目,其中也有很大的学问,2个循环一套,往往就会出错,不过当你懂了的时候,就会发现这是多么的有意思。
//倒序输出数字,一个一个输出
void printRInt(int n)
{
while (n > 0) {
printf("%d ", n % 10); //循环输出个位数
n /= 10;
}
}
int main (int argc, const char * argv[])
{
printRInt(123);
}
//输出 3 2 1
//正序输出数字
//先计算n数字是几位数的
int countOfInt (int n)
{
if (0 == n) {
return 1;
}
int count = 0;
while (n > 0) {
n /= 10;
count++;
}
return count;
}
//再进行正序输出
void printInt(int n)
{
int count = countOfInt(n);
int x = 10;
for (int i = 0; i < count - 1; i++) {
x *= 10;
}
while (x > 0) {
printf("%d ", n / x);
n %= x;
x / = 10;
}
}
int main (int argc, const *argv[])
{
printInt(2345);
}
//输出2 3 4 5 6
以上是正序和倒数输出数字的编程,那么怎么生成倒序数字呢? 就是输入123,输出的是三百二十一,不是3 2 1,编程如下:
int reverseInt (int n);
{
int x = 1;
int k = 0;
int count = countOfInt(n);
for (int i = 0; i < count - 1; i++) {
x *= 10;
}
while (n > 0) {
k += n % 10 * x;
x /= 10;
n /= 10;
}
return k;
}
看到这些,真心觉得编程真nb,这种看似无聊透顶的编程,也有这么多花样,加油,为了未来好好学吧。还有整整四个月的时间。。。