| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1421 人关注过本帖, 1 人收藏
标题:没看答案的恶果,做了一上午外加晚上一小时
只看楼主 加入收藏
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
结帖率:100%
收藏(1)
 问题点数:0 回复次数:10 
没看答案的恶果,做了一上午外加晚上一小时
程序代码:
#include<stdio.h>
int main()
{
    int a[10] = { 0,1,2,3,4,5,6,7,8,9 };
    int i = 0, j = 0, n = 0, m = 2, h = 10, r, s;
    for (i = 0; i < 10; i++)
        printf("%d ", a[i]);
    printf("\n");
    for (r = 5; r > 0; r--)
    {
        i = 0;
        while (j < h)
        {
            a[i++] = a[j++];
            n = i;
            if (j == m)
            {
                j++;
                m = m + 3;
            }
        }
        h = n;
        if (m == j + 2)
        {
            m = 3;
            j = 1;
        }
        else if (m == j + 1)
        {
            m = 1;
            j = 0;
        }
        s = n;
        for (i = 0; i < s; i++)
            printf("%d ", a[i]);
        printf("\n");
        n = 0;
    }
    return 0;
}

搜索更多相关主题的帖子: color 
2017-01-21 19:57
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
修改版
程序代码:
#include<stdio.h>
void sort(int *p, int u)
{
    int i = 0, j = 0, h = u, m = 2, n, r, s;
    for (r = 5; r > 0; r--)
    {
        i = 0;
        while (j < h)
        {
            p[i++] = p[j++];
            n = i;
            if (j == m)
            {
                j++;
                m = m + 3;
            }
        }
        h = n;
        s = n;    
        if (m == j + 2)
        {
            m = 3;
            j = 1;
        }
        else if (m == j + 1)
        {
            m = 1;
            j = 0;
        }
        for (i = 0; i < s; i++)
            printf("%d ", p[i]);
        printf("\n");
        n = 0;
    }
}

int main()
{
    void sort(int *p, int u);
    int a[10] = { 0,1,2,3,4,5,6,7,8,9 };
    int i;
    for (i = 0; i < 10; i++)
        printf("%d ", a[i]);
    printf("\n");
    sort(a, 10);
    return 0;
}
2017-01-21 20:34
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
答案设计的果然精巧
2017-01-21 20:57
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
所以……题目是什么?

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-21 21:00
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
初看像约瑟夫环问题~手机初步验证果然是~还好我这段时间编程没有退化得太厉害~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-21 21:02
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
回复 4楼 renkejun1942
n个人围圈,顺序排序,叫到3号的退出,问最后剩下的是原先的几号
2017-01-21 21:28
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
回复 5楼 九转星河
题目在上面,还好答案对着呢
2017-01-21 21:29
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 7楼 see235959850
这就是约瑟夫环问题啊~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-21 21:30
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 6楼 see235959850
我只用0,1,2,3,4,5,6,7,8,9,10测试了一下,貌似对的上,没有用其他的数组做测试,没有写找到剩下的是第几号,但是很容易,只要遍历数组找到非特殊值就可以了。

嗯……,写的很粗糙,很多东西都没考虑。

#include <stdio.h>
int main(void)
{
int a[10] = {0,1,2,3,4,5,6,7,8,9};
int i,j,n;
j = 0;
n = 0;

while(n != 1)
{
     for(i = 0;i < 10; i++)
     {
         if(a[i] == -1)
             continue;
         else if(!(++j%3))
         {
             a[i] = -1;
             j = 0;
         }
         else if(a[i] != -1)
             printf("%d ",a[i]);
     }
     putchar('\n');

     for(i = 0,n = 0; i < 10;i++)
         if(a[i] != -1)
             n++;
}

return 0;
}

[此贴子已经被作者于2017-1-21 22:55编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-21 22:27
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
编辑掉。

[此贴子已经被作者于2017-1-21 23:09编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-21 23:06
快速回复:没看答案的恶果,做了一上午外加晚上一小时
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026800 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved