小程序_1

//计算机的时间
//用clock()取得花的CPU时间,1000个CPU时间=1秒//


#include<stdio.h>
#include<time.h>
void main()
{
clock_t begin_time,end_time;
//定义了两个变量,保存程序运行开始时间和结束时间
    begin_time=clock();
//记住程序开始运行时间,用了多少个CPU时间//


int i;
for (i=0;i<=1000000;i++)
;


end_time=clock();
//记录程序结束运行时间,用了多少个CPU时间//
printf("循环花了%d个CPU时间.\n\n",end_time - begin_time);









//实现一个秒表
//用clock()取得花的CPU时间,1000个CPU时间=1秒
#include<stdio.h>
#include<time.h>
void main()
{
clock_t t1,t2;
t1=clock();
while (1)
{
t2=clock();
if (t2-t1==1000)
{
printf("\b\b\b   \b\b\b\a%d",t1/1000);
t1=t2;
}
}
}






第一次作业:冒泡排序对于一百万个随机数排序需花费多长时间
冒泡排序法
#include<stdio.h>
#define N 10


void main ()
{
int i,j,t,n;
int a[N];//定义一个数组//
printf("请输入元素的个数:\n");
    scanf("%d",&n);
printf("请输入n个整数:\n");
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
for( i=0 ; i< n-1 ; i++ )
{
//a[i]与其前后所有元素比较,若a[j]<a[i],则交换//
for ( j = i+1 ; j < n ; j++)
if( a[i] > a[j] )
{
t=a[i];a[i]=a[j];a[j]=t;
}


}
printf("排序后: \n");
for ( i=0 ; i<n ; i++ )  //输出n个数组元素的值//
printf(" %d ",a[i]);
printf("\n");


}








//要取得[a,b)之间的随机整数,使用(rand()%(b-a))+a
/*    a[]:放置随机数的起始地址
      size:要产生的随机数的个数(数组大小)
 start:要产生的随机数N的范围,>=start
 end:要产生的随机数N的范围,<end
*/
       #include<stdio.h>
       #include<time.h>
       #include<stdlib.h>//头文件调用rand()取得随机数//
       #define N 100000
       void rand_gen(int a[],int size,int start ,int end)
  {  
   int j,n;

            srand(time(NULL));
for (j=0;j<size;j++) 
{
                     n=rand()%(end-start)+start;
                     a[j]=n;
}
  }


     void sort (int a[], int size)
 {
           int i,j,t;
           for ( i=0 ;  i < size-1 ; i ++)
  {
            for ( j=i+1 ; j < size ; j++)
            if (  a[i] > a[j] )
{
         t=a[i];
         a[i]=a[j];
         a[j]=t;
}
  }
 }
 
void main ()
{
int a[N],i;
int f;
clock_t begin_time,end_time;
      begin_time=clock();
     rand_gen(a,N,0,10);
/*for(i=0;i<N;i++)
{
   printf("%d ",a[i]);
}*/
       // printf("\n\n\n\n\n\n\n\n\n\n\n");
    sort(a,N);
   end_time=clock();
 /*for(i=0;i<N;i++)
 {
 printf("%d ",a[i]);

 }*/
 printf("\n");
f=( end_time - begin_time )/1000;
   printf("随机数排序花了%d秒",f);
}








#include<stdio.h>
#define N 100000
#define M 100000
int main ()
{
int i,j,m,n,k=0;
int a[N],b[M],c[N+M];


scanf("%d",&m);
for (i=0;i<m;i++){
scanf("%d",&a[i]);
}


    scanf("%d",&n);
for (j=0;j<n;j++){
scanf("%d",&b[j]);
}
for(i=0;i<m;i++){
            c[i]=a[i];
}
     for(j=0;j<n;j++){      
            c[m+j]=b[j];
}


\
/* while (  i<m  && j<n){
if (a[i]>=b[j])
    c[k++]=a[i++];
else
c[k++]=b[j++];
}
    while (i<m)
c[k++]=a[i++];
while (j<n)
c[k++]=b[j++];
*/
int p,q,t;
for (p=0;p<m+n-1;p++){
for (q=p+1;q<m+n;q++)
if (c[p]<c[q])
{
t=c[p];
c[p]=c[q];
c[q]=t;
}
}






    for (k=0;k<m+n-1;k++)
printf("%d ",c[k]);
   printf("%d",c[m+n-1]);


return 0;


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值