| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2124 人关注过本帖, 1 人收藏
标题:求助高手的分析
取消只看楼主 加入收藏
tk190960
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-6-21
收藏(1)
 问题点数:0 回复次数:11 
求助高手的分析
这条程序一个错没有 就是无法运行 但把其中的一个100000(十万)改成10000(一万)就行了 为什么啊
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
void Insert_Sort(int R[],int n )
{
    int i,j;
        for(i=2;i<=n;i++)
            if(R[i]<R[i-1])
                {
                    R[0]=R[i];
                    for(j=i-1;R[0]<R[j];j--)
                    R[j+1]=R[j];
                    R[j+1]=R[0];
                }
}
void main()
{
    
    {
        int i,j,x,k;
            int a[100000];
        srand((unsigned)time(NULL));
            for(i=0;i<100000;i++)
            {    
                k=rand()%100;
                a[i]=k;
                printf("k=%d\n",k);
            }
            {
    clock_t start;
    clock_t end;
    float t;
    start=clock();
                {
            int i,n=100000;
            Insert_Sort(a,n);
                }
                for(i=0;i<100000;i++)
                    printf("%d\n",a[i]);
            
            end=clock();
            t=(float)(end-start)/(float)CLOCKS_PER_SEC;
            printf("%f",t);
    }
    }
    {
    clock_t start;
    clock_t end;
    float t;
    start=clock();
    {
        int i,j,x,k;
            int a[100000];
        srand((unsigned)time(NULL));
            for(i=0;i<100000;i++)
            {    
                k=rand()%100;
                a[i]=k;
                printf("k=%d\n",k);
            }
            
                for(j=0;j<99999;j++)
                    for(i=0;i<99999-j;i++)
                        if(a[i]>a[i+1])
                        {
                            x=a[i];
                            a[i]=a[i+1];
                            a[i+1]=x;
                        }

                for(i=0;i<100000;i++)
                    printf("%d\n",a[i]);
            
            end=clock();
            t=(float)(end-start)/(float)CLOCKS_PER_SEC;
            printf("%f",t);
    }
    }
    {
    clock_t start;
    clock_t end;
    float t;
    start=clock();
    {
        int i,j,x,k;
            int a[100000];
        srand((unsigned)time(NULL));
            for(i=0;i<100000;i++)
            {    
                k=rand()%100;
                a[i]=k;
                printf("k=%d\n",k);
            }
            for(i=0;i<99999;i++)
            {
                x=i;
                for( j=i+1;j<100000;j++ )
                    {
                        if( a[x]>a[j] )
                        x=j;
                    }
                    k=a[i];
                    a[i]=a[x];
                    a[x]=k;
                    }
                for( i=0;i<100000;i++ )
            printf("%d\n",a[i]);
            end=clock();
            t=(float)(end-start)/(float)CLOCKS_PER_SEC;
            printf("%f",t);
    }
}
}
搜索更多相关主题的帖子: int include void 
2008-06-21 16:04
tk190960
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-6-21
收藏
得分:0 
请问LS 什么事GCC啊 貌似没学过 老师只讲到c程序设计第三版的第十章指针
2008-06-22 05:27
tk190960
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-6-21
收藏
得分:0 
还是这个问题 貌似是我理解的有误   如何生成十万个数对其用不同方法排序排序 而不是每生成十万个数进行不同方法的排序
谢谢了啊
2008-06-22 05:32
tk190960
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-6-21
收藏
得分:0 
GCC是什么环境啊 为什么那段程序在Turbo C下运行不了
我不是学计算机的 C语言只学半个多学期
老师讲的也不精 而这跟课程设计有关
请问如何改成在Turbo C下的环境啊
2008-06-22 11:32
tk190960
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-6-21
收藏
得分:0 
my god
不能改成Turbo C的么?
2008-06-22 11:39
tk190960
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-6-21
收藏
得分:0 
天哪 咱别这样
我自己改了一下 目前就剩那个 选择的排序还排不出来 帮忙挑下错吧
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
void Insert_Sort(int R[],int n )
{
    int i,j;
        for(i=2;i<=n;i++)
            if(R[i]<R[i-1])
                {
                    R[0]=R[i];
                    for(j=i-1;R[0]<R[j];j--)
                    R[j+1]=R[j];
                    R[j+1]=R[0];
                }
}
void PopSort(int R[],int n )
{
    int i,j,x,a[100000];
                for(j=0;j<99999;j++)
                    for(i=0;i<99999-j;i++)
                        if(a[i]>a[i+1])
                        {
                            x=a[i];
                            a[i]=a[i+1];
                            a[i+1]=x;
                        }
}
void SelectSort(int R[],int n )

    {            
        int i,j,x,k,a[100000];
                for(i=0;i<99999;i++)        
                    {
                        x=i;
                for( j=i+1;j<100000;j++ )
                    {
                        if( a[x]>a[j] )
                        x=j;
                    }
                    k=a[i];
                    a[i]=a[x];
                    a[x]=k;
                    }
    }
void main()
{
    
    
        int i,j,x,k;
            int a[100000];
        srand((unsigned)time(NULL));
            for(i=0;i<100000;i++)
            {    
                k=rand()%100;
                a[i]=k;
                printf("k=%d\n",k);
            }
            {
            {
    clock_t start;
    clock_t end;
    float t;
    start=clock();                
                {
            int i,n=100000;
            SelectSort(a,n);
                }
                for(i=0;i<100000;i++)
                    printf("%d\n",a[i]);                                    
            end=clock();
            t=(float)(end-start)/(float)CLOCKS_PER_SEC;
            printf("%f",t);
            }                
                {
    clock_t start;
    clock_t end;
    float t;
    start=clock();
                {
            int i,n=100000;
            Insert_Sort(a,n);
                }
                for(i=0;i<100000;i++)
                printf("%d\n",a[i]);            
            end=clock();
            t=(float)(end-start)/(float)CLOCKS_PER_SEC;
            printf("%f",t);
            }
{    
    clock_t start;
    clock_t end;
    float t;
    start=clock();
    {
            int i,n=100000;
            PopSort(a,n);
                }
                for(i=0;i<100000;i++)
                printf("%d\n",a[i]);
            end=clock();
            t=(float)(end-start)/(float)CLOCKS_PER_SEC;
            printf("%f",t);
            }                        

    }
}
2008-06-22 12:48
tk190960
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-6-21
收藏
得分:0 
void SelectSort(int R[],int n )

    {            
        int i,j,x,k,a[100000];
                for(i=0;i<99999;i++)        
                    {
                        x=i;
                for( j=i+1;j<100000;j++ )
                    {
                        if( a[x]>a[j] )
                        x=j;
                    }
                    k=a[i];
                    a[i]=a[x];
                    a[x]=k;
                    }
    }
2008-06-22 12:49
tk190960
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-6-21
收藏
得分:0 
哪里错了啊 谢谢
2008-06-22 12:49
tk190960
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-6-21
收藏
得分:0 
高手们不要打击我了~
题目的要求就是大数组(十万个数) 而且是Turbo C的环境下
而且程序结果的排序的最终时间都挺长
冒泡要将近50s
那可是指导书上的结果啊
求求你们不要在打击我这只可怜的菜鸟了
请告诉我哪里错了吧
2008-06-22 19:31
tk190960
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-6-21
收藏
得分:0 
题目就是这样啊 没办法
2008-06-22 19:36
快速回复:求助高手的分析
数据加载中...
 
   



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

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