| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 651 人关注过本帖
标题:做不出来了
只看楼主 加入收藏
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
结帖率:100%
收藏
 问题点数:0 回复次数:4 
做不出来了
程序代码:
#include<stdio.h>
int main()
{
    int i = 0, j = 0, n = 0, m;
    char a[80];
    int b[80];
    gets_s(a);
    while (a[i] != '\0')
    {
        if (a[i] >= '0'&&a[i] <= '9')
        {
            m = 10 * n + (a[i] - '0');
            n = m;
        }
        if ((a[i] >= '0'&&a[i] <= '9') && (a[i + 1] < '0'&&a[i + 1] > '9'))
        {
            b[j] = m;
            j++;
            m = 0;
        }
        i++;
    }
    for (i = 0; i < j; i++)
        printf("%d ", b[i]);
    printf("\n");
    return 0;
}

2017-01-28 12:10
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
做出来了,嘎嘎
程序代码:
#include<stdio.h>
int main()
{
    int i, j = 0, m = 0;
    char a[80];
    int b[80];
    gets_s(a);
    for (i = 0; a[i] != '\0'; i++)
    {
        if (a[i] >= '0'&&a[i] <= '9')
            m = 10 * m + (a[i] - '0');
        if ((a[i] >= '0'&&a[i] <= '9') && (a[i + 1] < '0'||a[i + 1] > '9'))
        {
            b[j] = m;
            j++;
            m = 0;
        }
    }
    for (i = 0; i < j; i++)
        printf("%d ", b[i]);
    printf("\n");
    printf("有%d个整数\n", j);
    return 0;
}
2017-01-28 13:51
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
修改版,答案还没看懂
程序代码:
#include<stdio.h>
void input(char *p1)
{
    gets_s(p1, 80);
}

void execute(char *p1, int *p2)
{
    int i = 0, j = 0, m = 0;
    while (p1[i++] != '\0')
    {
        if (p1[i] >= '0'&&p1[i] <= '9')
            m = 10 * m + (p1[i] - '0');
        if ((p1[i] >= '0'&&p1[i] <= '9') && (p1[i + 1]<'0' || p1[i + 1]>'9'))
        {
            p2[j++] = m;
            m = 0;
        }
    }
    for (i = 0; i < j; i++)
        printf("%d%c", p2[i], i < j - 1 ? ' ' : '\n');
    printf("There are %d numbers in this line\n", j);
}

int main()
{
    void input(char *p1);
    void execute(char *p1, int *p2);
    char a[80], *p1;
    int b[80], *p2;
    p1 = a;
    p2 = b;
    input(p1);
    execute(p1, p2);
    return 0;
}
2017-01-28 14:16
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
printf("%d%c", p2[i], i < j - 1 ? ' ' : '\n');

原来答案也会开挂~连个换行符输出都写在主要的输出语句中~

感觉指针运用得较多~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-28 17:04
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
感觉用%c输出数字会比较方便一些~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-28 17:08
快速回复:做不出来了
数据加载中...
 
   



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

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