| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3045 人关注过本帖
标题:找出回文数。求高手。
只看楼主 加入收藏
小阿畅
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-5-25
收藏
得分:0 
要给定范围啊~
2011-05-25 21:44
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:3 
没错了啊  我特意找旁边有TC的帮你编译了一下的
图片附件: 游客没有浏览图片的权限,请 登录注册

                                         
===========深入<----------------->浅出============
2011-05-25 21:45
小阿畅
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-5-25
收藏
得分:0 
在Turbo C 2.0可以不?
2011-05-25 21:47
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:3 
程序代码:
#include <stdio.h>

// 如果是回文数则返回1否则返回0
int is_palindrome(int n) {
    int i, j, k = 0, x = 1, y = n, z = 0;
    while(y /= 10) {
        x *= 10;
    }
    for(i = x, j = 1; i > j; i /= 10, j *= 10) {
        z++;
        if(n / i % 10 == n / j % 10) {
            k++;
        }
    }
    if(k == z)
        return 1;
    return 0;
}

void print_palindrome(int range) {
    printf("0 to %d:\n", range);
    int i = 0;
    while(i < range) {
        if(is_palindrome(i)) {
            printf("%d\n", i);
        }
        i++;
    }
}

int main(void) {
    print_palindrome(10000);
    return 0;
} /* Output:
1 to 2293508:
0
1
2
3
4
5
6
7
8
9
11
22
33
44
55
66
77
88
99
101
111
121
131
141
...
8118
8228
8338
8448
8558
8668
8778
8888
8998
9009
9119
9229
9339
9449
9559
9669
9779
9889
9999

Process returned 0 (0x0)   execution time : 0.172 s
Press any key to continue.
*/
这样就可以了。

[ 本帖最后由 lz1091914999 于 2011-5-30 12:20 编辑 ]

My life is brilliant
2011-05-25 21:49
小阿畅
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-5-25
收藏
得分:0 
还是有错~还是有错~
2011-05-25 21:52
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
我晕啊  谁有TC2.0  快帮帮他啊

                                         
===========深入<----------------->浅出============
2011-05-25 22:00
小阿畅
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-5-25
收藏
得分:0 
我自己再考虑下看看。不过谢谢你们啦`~
2011-05-25 22:01
Qingtian_2
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:50
专家分:96
注 册:2011-3-9
收藏
得分:0 
你TC配置有问题没?把错误提示贴上来看看~
2011-05-25 22:17
简单回忆
Rank: 2
来 自:郴州
等 级:论坛游民
帖 子:89
专家分:28
注 册:2011-3-19
收藏
得分:2 
以下是引用lz1091914999在2011-5-25 21:41:43的发言:

#include  
 
// 如果是回文数则返回1否则返回0
int is_palindrome(int n) {
    int i, j, k = 0, x = 1, y = n, z = 0;
    while(y /= 10) {
        x *= 10;
    }
    for(i = x, j = 1; i > j; i /= 10, j *= 10) {
        z++;
        if(n / i % 10 == n / j % 10) {
            k++;
        }
    }
    if(k == z)
        return 1;
    return 0;
}
 
int main(void) {
    printf("1 to 1000:\n");
    int i = 0;
    while(i < 1000) {
        if(is_palindrome(i)) {
            printf("%d\n", i);
        }
        i++;
    }
    return 0;
} /* Output:
1 to 10000:
0
1
2
3
4
5
6
7
8
9
11
22
33
44
55
66
77
88
99
101
111
121
131
141
151
161
171
181
191
202
212
222
232
242
252
262
272
282
292
303
313
323
333
343
353
363
373
383
393
404
414
424
434
444
454
464
474
484
494
505
515
525
535
545
555
565
575
585
595
606
616
626
636
646
656
666
676
686
696
707
717
727
737
747
757
767
777
787
797
808
818
828
838
848
858
868
878
888
898
909
919
929
939
949
959
969
979
989
999
 
Process returned 0 (0x0)   execution time : 0.078 s
Press any key to continue.
 
*/
顶下
2011-05-29 23:55
简单回忆
Rank: 2
来 自:郴州
等 级:论坛游民
帖 子:89
专家分:28
注 册:2011-3-19
收藏
得分:1 
main()
{
int i,a,b,c,d,s;
clrscr();
s=0;
for(i=1000;i<=9999;i++)
{
a=i%10;
b=i/10%10;
c=i/100%10;
d=i/1000;
if(a==d&&b==c)
s++;
}
printf("  %d",s);
}                             1000到9999的回文数!!不知可否懂??
2011-05-29 23:57
快速回复:找出回文数。求高手。
数据加载中...
 
   



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

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