| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1288 人关注过本帖
标题:求助!指针字符与整型数组间转换问题!!
只看楼主 加入收藏
applelik
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-3-20
收藏
 问题点数:0 回复次数:6 
求助!指针字符与整型数组间转换问题!!
题目如下:
    输入一个字符串,内有数字和非数字字符,如
   a123x456  17960?  302tab5876
  将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123放在a[0],456放在a[1].......统计共有多少个整数,并输出这些数。


如何辨别字符中的数字呢?我先想过,如
for(i=0;a[i]!='\0';i++)
 for(j=0;j<10;j++)
   if(a[i]=='j')              //我以为如此可判断是否为数字,但由于‘’,只能固定为字母j,而不是整型变量
      printf("%c ",a[i]);     

哪位高人能指点呢?最好是用指针解决啊!!
没头绪啊...这还是书上的一题,要概念之间的区分弄很清楚吧。
搜索更多相关主题的帖子: 整型 指针 字符 
2008-03-21 12:02
jamesbind
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2008-3-21
收藏
得分:0 
用ASCII码进行 判断
2008-03-21 12:10
applelik
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-3-20
收藏
得分:0 
谢谢了!
我先也想过,但只知道字母的ASCII码,就没往下想了,我现在查查表看看。
2008-03-21 12:13
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
/*没做优化在此之上,适当优化*/
#include<stdio.h>
int main(void)
{
    char *str=(char *)malloc(100);
    long i=0,k=0,j,num=0,temp=0,ratio,symbol;
    long len[20],swap[15];
    /*clrscr();*/
    printf("请输入一段,字母或数字:\n");
    gets(str);
    while(*str!='\0')
    {
        if(*str>='0'&&*str<='9')
        {
           len[i]=*str^'0';
           i++;
        }
        else
        {
           if(i>0)
           for(j=i-1;j>=0;j--)
           {
                symbol=1;
                if(j==i-1) ratio=1;
                len[j]=len[j]*ratio;
                temp=temp+len[j];
                ratio=ratio*10;
                if(j<=0) ratio=0;
           }
           if(temp!=0)
           {
               swap[k]=temp;
               k=k+symbol;
               num+=symbol;
               i=0;
               j=0;
               temp=0;
               symbol=0;
           }
        }
        str++;
    }
    if(i>0)
    for(j=i-1;j>=0;j--)
    {
        symbol=1;
        if(j==i-1) ratio=1;
        len[j]=len[j]*ratio;
        temp=temp+len[j];
        ratio=ratio*10;
        if(j<=0) ratio=0;
    }
    if(temp!=0)
    {
        swap[k]=temp;
        k=k+symbol;
        num+=symbol;
        j=0;
        i=0;
        temp=0;
        symbol=0;
    }
    for(i=0;i<num;i++)
       printf("%ld ",swap[i]);
    printf("\ntotal==%ld",num);
}
2008-03-22 12:28
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
帮兄弟顶一个...呵呵..ls加油啊...

学习需要安静。。海盗要重新来过。。
2008-03-22 12:29
qfyzy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:380
专家分:86
注 册:2008-2-17
收藏
得分:0 
貌似又是老谭书上的,干脆买份答案算了

当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2008-03-22 18:45
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
吃葡萄不吐葡萄皮,不吃葡萄到吐葡萄皮...
2008-03-22 18:57
快速回复:求助!指针字符与整型数组间转换问题!!
数据加载中...
 
   



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

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