❶ c语言 数据分组的算法
如果你是希望通过输入来确定b的个数,又不想多申请空间,那就是动态数组的声明了,能够实现。
首先输入n,表示要输入的b[]的元素个数,在通过这个语句:
int *b= (int*)malloc(n*sizeof(int));
就能够通过输入的n来动态地给b申请合适的空间。
如果b[]已存在,只是想求得其中元素个数的话,那恐怕做不到,除非你的数据有一定的特点,比如都是整数,而b[]初始化为全负,那么可以通过一个循环获得b数组的元素个数
❷ c语言 数字分组! 急急急!!!
先排序,再找断带。
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int main(void)
{
int source[10]={1,7,3,9,10,6,2,13,14,15},result[10][10]={0};
int i=1,j=0,k=0;
qsort(source,10,sizeof(int),cmp); /*对原数组排序*/
result[0][0]=source[0];
while (i<10)
{
if (source[i]==result[j][k]+1) {
result[j][++k]=source[i++];
}
else{
++j;
result[j][k=0]=source[i++];
}
}
for (i = 0; i <=j; i++) {
for (k=0; result[i][k]; k++) {
printf("%d\t",result[i][k]);
}
putchar('\n');
}
return 0;
}
//---------------------------------------------------------------------------
❸ 在c语言中,如何把一组数进行分组处理!比如1,2,3,4,5,6,7。我想把他们分成两组来处理!怎么分求
你的意思是数有7个,不能平均分成两组吗?
那么有几种方案,看你具体是要进行什么运算。
可以忽略中间一个即4,或者忽略最后一个即7
或者把4算到两组中,即分成1,2,3,4和4,5,6,7
如果你是不知道怎么让一组变成两组来操作,可以用指针的方法,下面演示求两组的平均数,并忽略7
int data[]={1,2,3,4,5,6,7};
int *p=&data[3];
int i;
for(i=0;i<3;i++)
data[i]=(data[i]+p[i])/2;
❹ C语言 分组(数字分组)
void Test(int n)
{
for (int i = 1; i <= 50; ++i)
{
cout << i ;
if (i % n == 0)
cout << endl ;
else
cout << ", " ;
}
}