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

输入一个数,比如12345;

把它每个数字转入数组中比如使得:a[0]=1;a[1]=2……;

有没有这方面的函数啊??如果没有那怎么才能转换呢??

搜索更多相关主题的帖子: 基础 
2004-08-07 23:40
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

我想是有这种函数的,但是要求你自己编写

main() { char *s; int *a,n;

gets(s);/*输入一串数字,任意大小*/

a=(int *)malloc(strlen(s)); /*开辟内存一个地方用来放结果*/

for(n=0;n<strlen(s);n++) /*开始转换*/ a[n]=s[n]-'0';

for(n=0;n<strlen(s);n++) /*输出结果*/ printf("%d ",a[n]); getch(); free(a); /*释放内存*/ }

这样做主要是为了逃开变量有最值的限制~


淘宝杜琨
2004-08-08 09:31
卧龙先生
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2004-7-18
收藏
得分:0 

不行啊,我想问问

a[n]=s[n]-'0';这句是什么意思啊??

但是程序运行起来不对哦


我是一只小小小小菜鸟!!
2004-08-08 12:43
卧龙先生
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2004-7-18
收藏
得分:0 

我想用这个程序,但是输出的结果不知为何不对啊

#include "stdio.h" main() { int n=95859,*a,x,k,z; k=-1; while(n!=0) {x=n%10; k++; a[k]=x; n=(int)(n/10); } for(z=k;z>=0;z--) printf(" %d",a[z]); }

好像是没有错误的啊,但是就不知为什么不对??


我是一只小小小小菜鸟!!
2004-08-08 14:16
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

晕,错漏百出~~ 因为正在重新安装系统,没有C编辑器,不能帮你看还有什么错~~不过一眼看过去就发现致命的错误到是有两个

[1] n=95859 这个超过了int的范围

[2] 指针a没有给他赋值就直接使用了


淘宝杜琨
2004-08-08 15:36
卧龙先生
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2004-7-18
收藏
得分:0 

那里改成long n=95859;就行了

现在有新问题啊,我把逐个数字存入数组后,想判断是不是回文数,就像95859,正反都一样。

能不能指点一下怎么写判断那句啊。


我是一只小小小小菜鸟!!
2004-08-08 16:07
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
神的代码不行啊!~~~类型对不上号,如果我硬是要把s定义为int呢,那你怎么办?
2004-08-08 17:07
深蓝幻想
Rank: 1
等 级:新手上路
帖 子:104
专家分:0
注 册:2004-8-6
收藏
得分:0 

我运行成功了阿

结果是30323

怎么回事?

[em01

!~!~!深蓝幻想,幻想深蓝!~!~! Qq:1235531
2004-08-08 18:49
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
以下是引用live41在2004-08-08 17:07:25的发言: 神的代码不行啊!~~~类型对不上号,如果我硬是要把s定义为int呢,那你怎么办?

你理解错我的思路了,我是想把输入的数字按照字符串来处理,这样就逃避了整形变量的最值问题,我的程序可以输入像1999999999999这样超级长的,因为程序仅仅是把它看成是一个字符串而已。

你硬是要把我的s定义为int,你凭什么定义我的s,这个是我的代码,有版权的哦


淘宝杜琨
2004-08-08 19:36
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
以下是引用神vLinux飘飘在2004-08-08 19:36:38的发言:

你理解错我的思路了,我是想把输入的数字按照字符串来处理,这样就逃避了整形变量的最值问题,我的程序可以输入像1999999999999这样超级长的,因为程序仅仅是把它看成是一个字符串而已。

你硬是要把我的s定义为int,你凭什么定义我的s,这个是我的代码,有版权的哦

哇靠,我知道你的本意,那如果这个数接下来要用来计算那怎么办?还char个鬼啊!

2004-08-08 19:57
快速回复:基础小问题3??
数据加载中...
 
   



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

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