Mitty2023 发表于 2023-3-27 15:21:04

求问怎么在一组数中只读取其中一个

就类似于在123 234 2 2345 678这一行数中读取2{:5_99:} ,麻烦各位大佬了。

jhq999 发表于 2023-3-27 15:36:01

本帖最后由 jhq999 于 2023-3-27 15:37 编辑

你的意思是2222吗?
123 234 2 2345 678是整数数组还是字符串?

Mitty2023 发表于 2023-3-27 15:53:44

jhq999 发表于 2023-3-27 15:36
你的意思是2222吗?
123 234 2 2345 678是整数数组还是字符串?

是字符串,中间带空格那种,然后要取其中一个字符

jhq999 发表于 2023-3-27 17:21:14

Mitty2023 发表于 2023-3-27 15:53
是字符串,中间带空格那种,然后要取其中一个字符

char *s="123 234 2 2345 678";
int i=0,count2=0;
while(s)
{
   if('2'==s)count2+=1;
   i+=1;
}
for(i=0;i<count2;i+=1)printf("%c",'2');

jhq999 发表于 2023-3-27 17:38:19

int i=0,j=0,count2=0;
while(s)
{

        if(1==j)
        {
                printf("%c",s);///////取每个数的第二个
        }
        i+=1;
        if(' '==s)
        {
                j=-1;
        }
        else
                j+=1;



}

Mitty2023 发表于 2023-3-27 17:41:33

jhq999 发表于 2023-3-27 17:38


我可以直接复制吗(星星眼)

jhq999 发表于 2023-3-27 18:16:43

Mitty2023 发表于 2023-3-27 17:41
我可以直接复制吗(星星眼)

最好弄明白原理,自己写

Mitty2023 发表于 2023-3-27 22:07:24

jhq999 发表于 2023-3-27 18:16
最好弄明白原理,自己写

好呢,谢谢

Mitty2023 发表于 2023-3-27 22:56:31

jhq999 发表于 2023-3-27 18:16
最好弄明白原理,自己写

抱歉打扰了,还是想问问如果是想要读取前面那串字符里的2放入下一个部分去用该怎么写呢?把上面程序里的printf删掉吗?

jhq999 发表于 2023-3-28 07:17:48

Mitty2023 发表于 2023-3-27 22:56
抱歉打扰了,还是想问问如果是想要读取前面那串字符里的2放入下一个部分去用该怎么写呢?把上面程序里的p ...

拿上面字符串举个例子

Mitty2023 发表于 2023-3-28 09:43:03

jhq999 发表于 2023-3-28 07:17
拿上面字符串举个例子

就是123 234 2 2345 678中读取'2',然后放到下一个部分去用。比如我从这里读取2,然后放到o=p+a中a取2的值

芜湖666 发表于 2023-3-28 10:05:05

服了我来晚了

jhq999 发表于 2023-3-28 10:36:48

Mitty2023 发表于 2023-3-28 09:43
就是123 234 2 2345 678中读取'2',然后放到下一个部分去用。比如我从这里读取2,然后放到o=p+a中a取2的 ...

比如“234”
a是取其中的‘2’这个字符啊?还是取排在第二位的字符‘3’?

Mitty2023 发表于 2023-3-28 16:32:37

jhq999 发表于 2023-3-28 10:36
比如“234”
a是取其中的‘2’这个字符啊?还是取排在第二位的字符‘3’?

是你这个例子中的3

jhq999 发表于 2023-3-28 17:04:20

本帖最后由 jhq999 于 2023-3-28 20:33 编辑

Mitty2023 发表于 2023-3-28 16:32
是你这个例子中的3

int i=0,j=0,count2=0,o,p;
while(s)
{

      if(1==j)
      {
                o=p+s-'0';
      }
      i+=1;
      if(' '==s)
      {
                j=-1;
      }
      else
                j+=1;



}

Mitty2023 发表于 2023-3-28 18:55:46

jhq999 发表于 2023-3-28 17:04


感谢!

Mitty2023 发表于 2023-3-28 19:53:37

jhq999 发表于 2023-3-28 17:04


抱歉打扰了,想问一下这层的代码里面的是什么意思?

jhq999 发表于 2023-3-28 20:33:25

Mitty2023 发表于 2023-3-28 19:53
抱歉打扰了,想问一下这层的代码里面的是什么意思?

失误多加了个<>

Mitty2023 发表于 2023-3-28 21:33:41

jhq999 发表于 2023-3-28 20:33
失误多加了个

好呢谢谢

Mitty2023 发表于 2023-3-28 21:40:31

本帖最后由 Mitty2023 于 2023-3-28 21:50 编辑

jhq999 发表于 2023-3-28 20:33
失误多加了个

大佬,那个,你前面的程序我放到dev里面报错了,但是我不太会改(对手指)
说是subscripted value is neither array nor pointer nor vector,(5,8)(10,22)(13,18)这几个位置是这个错误;(23,2)是expected declaration or statement at end of input
页: [1]
查看完整版本: 求问怎么在一组数中只读取其中一个