| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2036 人关注过本帖
标题:怎么求数组元素的ASCII码
只看楼主 加入收藏
依旧迷茫
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2011-3-5
结帖率:100%
收藏
已结贴  问题点数:30 回复次数:2 
怎么求数组元素的ASCII码
题目:输入一个字符串,内有数字和非数字字符,如:a123x456 1760?302ab567,将其中连续的数字作为一个整数依次存放到一数组a中,如123存放到a[0]中,456存放到a[1]中。

我的代码:
#include<stdio.h>
#include<string.h>
int main()
{
    char a[20];
    int b[10]={0},i,j,k,c,d,e,f,g;
    printf("请输入一串字符\n");
    gets(a);
    for(i=0,k=0;i<20;i=i+g,k++)
    {
        if(a[i]<='9'&&a[i]>='0')
        {
            for(j=i,c=1;j<20;j++)
            {
                if('a[j+1]'==a[j]+1)
                    c++;
                else
                {
                    for(e=j,f=1;e>=i;d++,e--)
                    {
                        b[k]=b[k]+a[e]*f;
                        f=f*10;
                    }
                }
            }
        }
        printf("%d\n",b[k]);
    }
    return 0;
}

刚学完数组  

if('a[j+1]'=='a[j]'+1)
这步错了 想比较a[j+1]的ASCII码是否等于'a[j]'+1
求解

搜索更多相关主题的帖子: 字符串 元素 
2011-04-18 17:53
王立帅
Rank: 3Rank: 3
来 自:山东淄博
等 级:论坛游侠
帖 子:61
专家分:160
注 册:2011-4-4
收藏
得分:30 
你能把你的思想说一下吗 说几点你的错误 第一个for循环 i = i+g 是什么意思呢 ,g没有赋初值
if(a[j+1] == a[j] + '1') 或者直接加 1 应该都可以吧,但是不知道你这句的含义是什么;

一个人走
2011-04-18 21:09
依旧迷茫
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2011-3-5
收藏
得分:0 
以下是引用王立帅在2011-4-18 21:09:00的发言:

你能把你的思想说一下吗 说几点你的错误 第一个for循环 i = i+g 是什么意思呢 ,g没有赋初值
if(a[j+1] == a[j] + '1') 或者直接加 1 应该都可以吧,但是不知道你这句的含义是什么;


谢谢回答 已经完成了

#include<stdio.h>
#include<string.h>
int main()
{
    char a[20];
    int b[20]={0},i,j,k,c,d,e,f,g;
    printf("请输入一串字符\n");
    gets(a);
    for(i=0,k=0,c=1;i<20;i=i+c,k++)
    {
        c=1;
        if(a[i]<='9'&&a[i]>='0')
        {
            for(j=i,c=1,d=1;j<20;j++)
            {
                if(a[j+1]==a[j]+1)
                    c++;
                else
                {
                    for(e=j,f=1;d<=c;d++,e--)
                    {
                        b[k]=b[k]+(a[e]-48)*f;
                        f=f*10;
                if(d==c)
                    break;
                    }
                }
                if(d==c)
                    break;
            }
         printf("%d\n",b[k]);
        }
    }
    return 0;
}

2011-04-19 09:25
快速回复:怎么求数组元素的ASCII码
数据加载中...
 
   



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

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