LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 735|回复: 4

请问是怎么倒过来的呢

[复制链接]
发表于 2007-1-24 17:55:25 | 显示全部楼层 |阅读模式
--------------------------------------------------------------------------------

今天老师给出了道题代码如下


CODE:[Copy to clipboard]main()
{
    int number,digit;
    number=13579;
    do
    {
        digit=number % 10;
        printf("%d",digit);
        number=number / 10;
    } while (number != 0);
}
最后结果是97531,请问是怎么倒过来的呢新手不懂,谢谢
发表于 2007-1-24 18:16:51 | 显示全部楼层
这个很简单拉,你了解%和/两个操作符的意思就知道了,%是取余数,/是做除法运算
回复 支持 反对

使用道具 举报

发表于 2007-1-24 19:05:33 | 显示全部楼层
你这个遇到负数就不行了 给你一个完整的翻转数字的程序
#include <stdio.h>
                                                                                                                                                                                    
int main()
{
   int number,right_digit;
                                                                                                                                                                                    
   printf("Enter your number.\n");
   scanf("%i",&number);
                                                                                                                                                                                    
   if(number<0)
   {
      number*=(-1);
      printf("-");
      do
      {
         right_digit=number%10;
         printf("%i",right_digit);
         number=number/10;
      }
      while(number!=0);
   }
   else
   {
      do
      {
         right_digit=number%10;
         printf("%i",right_digit);
         number=number/10;
      }
      while(number!=0);
                                                                                                                                                                                    
   }
   printf("\n");
   return 0;
}
回复 支持 反对

使用道具 举报

发表于 2007-1-24 19:27:11 | 显示全部楼层
Post by piaoyizu
--------------------------------------------------------------------------------

今天老师给出了道题代码如下


CODE:[Copy to clipboard]main()
{
    int number,digit;
    number=13579;
    do
    {
        digit=number % 10;
        printf("%d",digit);
        number=number / 10;
    } while (number != 0);
}
最后结果是97531,请问是怎么倒过来的呢新手不懂,谢谢


它是由cpu慢慢地,一步一步地倒过来地,你慢慢地一步一步地思考一下,就明白了:2cool :2cool

提示: 你可以先研究
        digit=number % 10;  这一句................
  研究方法:
运行它!!!!

so,遇到问题,请先做,然后再问...........不做就问会被鄙视的哦:beat :beat
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-24 20:20:54 | 显示全部楼层
嗯,知道了,谢谢楼上朋友们的指导,谢谢!~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表