c语言11:从键盘上输入一字符串s,字符串s中包含若干个数字字符,将字符串s中的数字字符放入另一个数组d,最后将数组d中的字符串输出

 在程序编辑区编写程序,给定程序功能是:
从键盘上输入一字符串s,字符串s中包含若干个数字字符,将字符串s中的数字字符放入另一个数组d,最后将数组d中的字符串输出。

例如:

输入
abc13def24

输出

1324
程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!

例如:

输入:
abc123de678

输出:

123678

题目分析

       题目要求从键盘上输入一个字符串s,字符串s中包含若干个数字字符,需要将字符串s中的数字字符提取出来放入另一个数组d中,并最终将数组d中的字符串输出。

       对于这个问题的解决,可以在循环中判断每个字符是否为数字字符,如果是,则将其复制到数组d中。具体来说,可以使用两个循环变量i和j,其中i用于遍历原始字符串s,而j则用于记录数组d中已经存储的元素个数。当s[i]是数字字符时,将其赋值给d[j],并将j加1,表示数组d中有一个新的元素。

      当遍历完字符串s后,数组d中已经存储了所有的数字字符,此时可以使用puts(d)函数将数组d中的字符串输出。需要注意的是,为了保证字符串d能够正确输出,我们需要在数组d的最后一个元素赋予空字符'\0',以标志字符串终止。

也就是:使用scanf函数从标准输入读取字符串s,并通过循环遍历字符串s中的每个字符。当字符是数字字符时,将其赋值给数组d,并将j加1,表示数组d中有一个新的元素。最后,我们在数组d的最后一个元素赋值空字符'\0',并使用puts函数将数组d中的字符串输出。 

 

 

#include "stdio.h"
#include "string.h"

int main(void)
{
    char s[80], d[80];
    int i, j;
    scanf("%s", s);
    for(i = j = 0; s[i] != '\0'; i++)
    {
        if(s[i] >= '0' && s[i] <= '9')
        {
            d[j] = s[i];
            j++;
        }
    }
    d[j] = '\0'; // 在数组d的最后一个元素赋值空字符'\0'
    puts(d);
    return 0; 
}

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值