C编程问题求解,求指点,

用C语言或者C++编程:把存放在队列中的数字序列每3位分一组,然后还要判断最后一组是3位还是2位。
怎么把这个编出来呢

4个回答

完整的代码如下:

#include <stdio.h>
int main()
{
    int queueArray1[] = { 1,2,3,4,5,6,7,8,9,10,11};
    double  queueArray2[] = {2.5,3.6,4.0,6.7,8.6,9.8,10.3};

    int lenArray1 = sizeof(queueArray1) / sizeof(int);
    int lenArray2 = sizeof(queueArray2) / sizeof(double);

    printf("第一个队列数据为:\n");
    for (int i = 0; i < lenArray1; i++)
    {
        printf("%d ", queueArray1[i]);
    }

    printf("\n第一个队列分组结果为:\n");

    for (int i = 0; i < lenArray1; i++)
    {
        if ( i%3 ==0 && i >2 )
        {
            printf("\n");
        }
        printf("%d ", queueArray1[i]);

    }
    printf("\n第一个队列最后一组有%d个数字\n\n", lenArray1%3 == 0 ? 3:  lenArray1 % 3);

    printf("第二个队列数据为:\n");
    for (int i = 0; i < lenArray2; i++)
    {
        printf("%3.2f ", queueArray2[i]);
    }

    printf("\n第二个队列分组结果为:\n");

    for (int i = 0; i < lenArray2; i++)
    {
        if (i % 3 == 0 && i >2)
        {
            printf("\n");
        }
        printf("%3.2f ", queueArray2[i]);

    }
    printf("\n第二个队列最后一组有%d个数字\n", lenArray2 % 3 == 0 ? 3 :  lenArray2 % 3);

    return 0;
}

测试结果如下图:

图片说明

用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢。

qq_37330911
qq_37330911 谢谢,非常感谢╰(*´︶`*)╯很受用。
2 年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 这个回答够详细,lz可以采纳
2 年多之前 回复

出队的时候记录一下就可以了,首先要有个标志sign来标记当前组的个数,每当出队,sign+1,如果sign==3,就把它从上个标志处到这里分成一组,同时sign恢复初值0,队为空时sign的值就是最后一组的个数。
如果只想求最后一组的个数可以用长度对3求余的方法

itoa转换成字符串,求长度,判断是否能被3整除

分组后是要放进二维数组么

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!