当前位置: 代码迷 >> C语言 >> [讨论]大家一起来做做这个题目,看谁的方法简单!
  详细解决方案

[讨论]大家一起来做做这个题目,看谁的方法简单!

热度:120   发布时间:2007-04-10 21:28:49.0
3楼的好!
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#include "math.h"
int main()
{
int a,w;
scanf("%d",&a);
for(w=0;a>0;a=a/10,w++)printf("%d",a%10);
printf("\n%d\n",w--);
return 0;
}
----------------解决方案--------------------------------------------------------
for(;a>=0;a--)printf("%c ",s[a]);

我觉得改为for(a+=1;a;a--)printf("%c ",s[a-1]);
更好一点..

----------------解决方案--------------------------------------------------------


----------------解决方案--------------------------------------------------------
回复:(I喜欢c)for(;a>=0;a--)printf(
为什么这个改好点呢
----------------解决方案--------------------------------------------------------

用命令行吧

#include<stdio.h>

int main(int argc,char *argv[])
{
int i=0;
while(putchar(argv[1][i++])!=EOF);
printf("The digit of number is: %d\nAfter reversed :",i);
for(--i;i>=0;putchar(argv[1][i--]));

return 0;
}


----------------解决方案--------------------------------------------------------
12楼,for(w=0;a>0;a=a/10,w++)printf("%d",a%10);中,a%10先于a=a/10执行,执行结果将a反序输出,是不
----------------解决方案--------------------------------------------------------
for(;a>=0;a--)printf("%c ",s[a]);

这样每次执行都会判断比较是否>=0;
而改了后就看为0否!
可能我叙述不清楚~``
但我看一本书这样说!

----------------解决方案--------------------------------------------------------
哦,原来如此多谢了
----------------解决方案--------------------------------------------------------
for(w=0;a&gt;0;a=a/10,w++)printf("%d",a%10);中a%10并没有对a的值做改变,a=a/10是进入下个循环前执行的语句
----------------解决方案--------------------------------------------------------
  相关解决方案