| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1006 人关注过本帖
标题:free的问题
取消只看楼主 加入收藏
百合杰
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2009-9-26
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:3 
free的问题
#include<stdio.h>
#include<malloc.h>
int main()
{
    int s[5010],t[2510];
    int c,n,l;
    scanf("%d",&c);
    for(int i=0;i<c;i++)
    {
        scanf("%d",&n);
        
        for(int k=0;k<n;k++)
        s[k]=k+1;
        while(1)
        {
            l=0;
            for(int j=0;j<n;j++)
            {
                if(j%2!=1)
                {
                    t[l]=s[j];
                    l++;
                }
            }
            if(l==3) break;
            free(s);//出错了。。。。。。。。。。。
            int p=0;
            for(int m=0;m<l;m++)
            {
                if(m%3!=2)
                {
                    s[p]=t[m];
                    p++;
                }
            }
            if(p==3) break;
            free(t);//出错了。。。。。。。。。。。。。
        }
        if(l==3)
        for(int q=0;q<3;q++)
            printf("%d",t[q]);
        else
            for(int r=0;r<3;r++)
            printf("%d",s[r]);
    }

    return 0;
}


free时出错了,出错的原因是什么,怎么改?
搜索更多相关主题的帖子: free 
2009-09-26 21:20
百合杰
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2009-9-26
收藏
得分:0 
回复 2楼 m456m654
恩,给你看原题吧
士兵队列训练问题

--------------------------------------------------------------------------------

Time limit: 1000MS    Memory limit: 32768K
Total Submit: 363    Accepted: 148


--------------------------------------------------------------------------------

某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。

本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵人数不超过5000。

共有N行,分别对应输入的新兵人数,每行输出剩下的新兵最初的编号,编号之间有一个空格。

Sample Input
2
20
40

Sample Output
1 7 19
1 19 37

2009-09-26 21:42
百合杰
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2009-9-26
收藏
得分:0 
回复 6楼 m456m654
第一个for循环是用来实现输c次的
2009-09-26 22:00
百合杰
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2009-9-26
收藏
得分:0 
回复 5楼 cgaa1
那请问怎样才能把数组附空呢
2009-09-26 22:01
快速回复:free的问题
数据加载中...
 
   



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

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