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

问题:一个1到1000之间的整数的数组,将数组中的数字按照数字中出现的数字字符集合分组,例如:12和21均分入“1”,“2”,给出每个分组中包含的数字及数字个数我的思路:... 问题:
一个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#的方法也可以,只要能解决这个问题就行
展开
 我来答
hb756091339
2011-12-16 · TA获得超过368个赞
知道小有建树答主
回答量:181
采纳率:100%
帮助的人:110万
展开全部
大哥,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;
}
}
}

大致框架就这样,自己写吧
LeoMiaoX
2011-12-16 · TA获得超过289个赞
知道答主
回答量:188
采纳率:100%
帮助的人:78.2万
展开全部
#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]中所保存的每个数
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式