c语言indexof的问题,请指教!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言indexof的问题,请指教!相关的知识,希望对你有一定的参考价值。

问题:
一个1到1000之间的整数的数组,将数组中的数字按照数字中出现的数字字符集合分组,例如:12和21均分入“1”,“2”,给出每个分组中包含的数字及数字个数

我的思路:定义一个1-1000的字符串数组1,和一个0-9的数组2,然后匹配,如果数组1包含数组2,那么输出,不包含则跳过,直到结束

我想用c语言,不知道indexof能不能解决?下面是我的代码,请多多指教

#include <stdio.h>
#include<string.h>
main()

char str1[1001], str2[11];
if( str1.indexof(str2)>-1);
printf("%s/n",str1);
else
return 0;

c++或者c#的方法也可以,只要能解决这个问题就行

大哥,c语言没这玩意,你是java,用c语言解决的话这么来:
数组a:1-1000的集合
数组b0-b9:存放包含0-9某一数字的数组
char str_num[4];
int b0_num = 0,b1_num = 0..........b9_num = 0; //记录每个数组里面的数字个数
int i,j;
for(i=1,i<=1000,i++)

fprintf(str_num,"%s",a[i])//将数字装以字符的形式放入num字符串
for(k=48;k<=57;k++) //数字0-9的ascii码值

if(0 != strcat(str_num,k))

switch (k)

case 48:b0[b0_num] = a[i];b0_num++;break;
case 49:b1[b1_num] = a[i];b1_num++;break;




大致框架就这样,自己写吧
参考技术A #include <stdio.h>
#include<string.h>
main()

char str1[1001];
char str2[11][1001];//记录你所有的数据组
int count[11] = 0;//记录你数字的保存个数
int flag[11];//出现重复的字符时不重新计算
char *p = null;
int index = 0;
int number = 0;
int x = 0;
for (index = 0; index < 10; index++)

flag[index] = -1;


for (index = 0; index < 1000; index++)

p = str1[index];
while((p != null) && (p != '\0'))

x = *p - 48;
if (flag[x] == -1)

flag[x] = 1;
str2[x][count[x]] = str1[index];
count[x]++;

p++;


p = null
for (number = 0; number < 10; number++)

flag[number] = -1;






最后输出时,之需要将count数组中的总数输出,也可以输出str2[][1001]中所保存的每个数本回答被提问者采纳

java,请多多指教

记得当初学C语言的时候,第一个程序是“Hello World”,而我java的第一个程序也是
“Hello World”。我想从事游戏开发设计方面的工作,我知道那会很难,而且会很久,
但什么职业又不是这样来的呢?一本上千页的书,最初还不是从一张张白纸走过来的,
谁知道它花了几年,十几年,甚至几十年才完成的。所以,学路漫漫,java,请多多
指教!

public class Hello
{
    public static void main(String[] args)
    {
        System.out.println("Hello World!");
    }
}

以上是关于c语言indexof的问题,请指教!的主要内容,如果未能解决你的问题,请参考以下文章

c语言中怎么用命令提示窗口编译宏定义并打印出来!请指教.谢谢了.

c语言中算每月第一天是周几的算法看不懂,请大神指教

基于FFT的算法优化 要C语言完整程序(利用旋转因子的性质),有的请留言,答谢!!!(有核心代码,望指教

c语言删除学生信息函数 有问题求指教!

最近在自学C语言,用的VS2019,为啥照抄结果还报错?请指教。。。。

请问C语言中的:stdio.h是啥意思,说仔细些,我刚自学的,不懂,还请指教