| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 326 人关注过本帖
标题:字符转换问题
只看楼主 加入收藏
xiaoseqingch
Rank: 2
等 级:论坛游民
帖 子:36
专家分:42
注 册:2010-6-19
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:4 
字符转换问题
#include <stdio.h>
void main()
{
    struct student
    {
        int code;

    }stu[20];

    int i=0;
    char xuan[1000];
    for(i=0;i<10;i++)
    {
        stu[i].code=0;
    }
    scanf("%s",&xuan);
    printf("%s\n",xuan);   
    for(i=0;i<30;i++)
    {
        stu[xuan[i]].code+=1;
    }
    printf("%d\n",i);
}
如上 我想输入的xuan的字符串是数字组成的 因为要输入很长的一串数字 所以必须用字符串
但是后面又要用它进行运算 请教一下怎么转换一下
搜索更多相关主题的帖子: include void 
2012-10-11 23:23
stophin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:227
专家分:618
注 册:2010-3-26
收藏
得分:0 
直接用atoi,printf("%d\n",atoi(xuan));
但是你说很长的一段数字,必须用字符串,那么如果字符串超出了整数的范围的话,atoi也没有办法了
2012-10-12 00:09
xiaoseqingch
Rank: 2
等 级:论坛游民
帖 子:36
专家分:42
注 册:2010-6-19
收藏
得分:0 
回复 2楼 stophin
我想一个字符一个字符的转换
转换后的数字不会超过10 这是难点
你说的那个我知道
2012-10-12 00:11
小糊涂神c30
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:198
专家分:809
注 册:2012-4-25
收藏
得分:20 
数字和对应的数字字符的ASCII差48,也就是字符‘0’的ASCII码,所以用字符-‘0’就可以了!     可以改成这样 stu[xuan[i]-‘0’].code+=1;
不过楼主 这句printf("%d\n",i);是什么意思,我就不理解了····

2012-10-12 09:27
菜鸟一支
Rank: 6Rank: 6
来 自:何美杭
等 级:侠之大者
威 望:1
帖 子:119
专家分:439
注 册:2012-10-10
收藏
得分:0 

stu[xuan[i]].code+=1;
变为
stu[xuan[i]-48].code+=1;

小弟何美杭,所发表的都仅代表个人观点,欢迎批评指正。
2012-10-12 14:04
快速回复:字符转换问题
数据加载中...
 
   



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

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