yuan1311467 发表于 2020-7-5 17:03:20

输入数字问题求助

本帖最后由 yuan1311467 于 2020-7-5 17:07 编辑

请问怎么能将输入的数字去除掉其中的无关字符,只保留数字和小数点,

例如我输入的array是12*3,array是45v,输出的是123和12呢?

if((ch >= 0 && ch <= 9) || ch == '.'),我会这么写if但是内部怎么嵌套不会

永恒的蓝色梦想 发表于 2020-7-5 17:19:25

去除掉怎么个去除法

yuan1311467 发表于 2020-7-5 18:12:15

永恒的蓝色梦想 发表于 2020-7-5 17:19
怎么个去除法

就是比方说我是{123.45,123a45, 123*45}
输出来是123.45,12345,12345只保留数字和小数点

永恒的蓝色梦想 发表于 2020-7-5 18:32:21

yuan1311467 发表于 2020-7-5 18:12
就是比方说我是{123.45,123a45, 123*45}
输出来是123.45,12345,12345只保留数字和小数点

以","分隔吗?

yuan1311467 发表于 2020-7-5 18:55:13

永恒的蓝色梦想 发表于 2020-7-5 18:32
以","分隔吗?

输入的话怎样都可以,就是这个过滤写不出来

永恒的蓝色梦想 发表于 2020-7-5 18:59:26

本帖最后由 永恒的蓝色梦想 于 2020-7-5 19:01 编辑

yuan1311467 发表于 2020-7-5 18:55
输入的话怎样都可以,就是这个过滤写不出来

#include<stdio.h>


int main() {
    for (;;) {
      switch (getchar()) {
            case'\r':
            case'\n':
            case'\0':
                return 0;

            case'.':
                putchar('.');
                break;

            case'0':
                putchar('0');
                break;

            case'1':
                putchar('1');
                break;

            case'2':
                putchar('2');
                break;

            case'3':
                putchar('3');
                break;

            case'4':
                putchar('4');
                break;

            case'5':
                putchar('5');
                break;

            case'6':
                putchar('6');
                break;

            case'7':
                putchar('7');
                break;

            case'8':
                putchar('8');
                break;

            case'9':
                putchar('9');
                break;
      }
    }

    return 0;
}

yuan1311467 发表于 2020-7-5 19:07:25

永恒的蓝色梦想 发表于 2020-7-5 18:59


我试一下{:10_264:}

yuan1311467 发表于 2020-7-5 19:11:12

永恒的蓝色梦想 发表于 2020-7-5 18:59


#include <stdio.h>
#define Num 5

int main()
{
    char array;
    int Sum = 0;
    int act1, act2, temp;
    int q = 0;
    float ch,abc;

    for (Sum = 0; Sum < Num; Sum++)
    {
      printf("请输入整数:");
      scanf("%d", &array);
      

    }



    for (act1 = 0; act1 < Num - 1; act1++)
    {
      for (act2 = 0; act2 < Num - 1 - act1; act2++)
      {
            if (array > array)
            {
                temp = array;
                array = array;
                array = temp;
            }
      }

    }

    printf("冒泡排序:");
    for (act1 = 0; act1 < Num; act1++)
    {
      printf("%d ", array);
    }
   
}


我的代码是这样的,没加明白{:10_266:}
页: [1]
查看完整版本: 输入数字问题求助