| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3572 人关注过本帖
标题:问题(回文数)
只看楼主 加入收藏
卧龙先生
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2004-7-18
收藏
 问题点数:0 回复次数:49 
问题(回文数)

#include "stdio.h" #include "math.h" main() { long n=95859,temp=0; char a[10]; int x=0,k=0,z,flag=0; while(flag==0) {flag=1; n++; temp=n; z=0; while(n/pow(10,z)!=0) z++; /*计算位数长度*/ for(k=0;k<z;k++) {a[k]=n%10;n=n/10;} for(k=0;k<z;k++) {if(a[k]!=a[z-k-1]) {flag=0;n=temp;} } } for(;x<z;x++) printf("%c",a[x]); }

请各位高手运行看看,不知错在何处??

搜索更多相关主题的帖子: 回文 flag temp include pow 
2004-08-10 00:09
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

莫名其妙的 n++ 有什么用?

while((n/pow(10,z))!=0) //问题出在这里 z++;

依照你的思路来看,两个while不用嵌套,把上面这个while放在外面就好。

而且改为这样就可以实现你求位数的算法了,

while(1) { m=pow(10,z); cout<<m<<" "; cout<<(temp=n/m)<<endl; z++; if(temp==0) {z--;break;} }

我也迷糊,为什么 while((n/pow(10,z))!=0) 这样直接来的不行呢?再来一个如下:

m=pow(10,0); k=n/m; while(k!=0) { m=pow(10,z); k=n/m; z++; cout<<z<<endl; }

这样也通过啊!就是把pow函数嵌套在while的括号里不行,我用VC编译,嵌套的方法循环了309次,得到z=309,为什么是这个数呢?悬念谁来解开呢?我困了,希望明天太阳出来的时候看到解释,hope...

[此贴子已经被作者于2004-08-10 02:14:26编辑过]

2004-08-10 01:35
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

你已经看不到明天的太阳了,所以你的问题先放放

我们来看看卧龙先生的问题:晕,他写什么鬼!我看了半个多小时都没看出来,干脆自己写了个~

#include <stdio.h>

main() { int a[10],i,k=0,b; long number=95859,n;

n=number;

do{ a[k]=n%10; k=k+1;n=n/10; }while(n!=0);

b=1;

for(i=0;i<=(k-1)/2;i++) if(a[i]!=a[k-i-1]) b=0;

if(b) printf("YES!\n"); else printf("NO!\n");

getch(); }


淘宝杜琨
2004-08-10 07:47
wanyy1228
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2004-8-8
收藏
得分:0 
不明白呀

2004-08-10 08:48
wanyy1228
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2004-8-8
收藏
得分:0 

能给我们这些菜鸟说说算法吗?谢谢!!


2004-08-10 08:51
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

while((n/pow(10,z))!=0)

函数名: pow 功 能: 指数函数(x的y次方) 用 法: double pow(double x, double y);

注意pow返回类型!


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-08-10 09:07
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

对啊!高手啊!问题是这样! 但是我又试了一下,改成这样

while((int)(n/pow(10,z))!=0)

但是为什么还是不行?

改成以上这样 z 的确只加到5,可是回到一再加,重复好多次,我的意思是我用边循环边打印得到:

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

就是说z就这样重复了好多次以后才回到5的,为什么?

[此贴子已经被作者于2004-08-10 10:16:03编辑过]

2004-08-10 10:12
卧龙先生
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2004-7-18
收藏
得分:0 

对不起,其实我这题是这样的

有一辆汽车,第一次看到的里程碑为95859,经过两小时后,看到另一个回文数,问这个回文数是多少?速度是多少?


我是一只小小小小菜鸟!!
2004-08-10 10:15
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

设车的速度为v,95859 + v*2 = y

我明白了,你是要V++,然后判断y是否回文。但是目前我想先解决掉我的问题。

2004-08-10 10:25
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
以下是引用卧龙先生在2004-08-10 10:15:14的发言:

对不起,其实我这题是这样的

有一辆汽车,第一次看到的里程碑为95859,经过两小时后,看到另一个回文数,问这个回文数是多少?速度是多少?

这里有个问题,公里数是递增还是递减?所以有可能有两个答案。

另:TO live41

while((int)(n/pow(10,z))!=0)

while((n/(int )(pow(10,z)))!=0)程序对错我没有看,但是要加int 也是加这里

[此贴子已经被作者于2004-08-10 11:24:52编辑过]


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-08-10 11:23
快速回复:问题(回文数)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015677 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved