c语言编程题 随机产生40个float类型的数组元素并用选择排序法按降序排列 求教一道初级的C语言选择排序法的题目

C\u8bed\u8a00\u6c42\u52a9\uff1a\u968f\u673a\u4ea7\u751f40\u4e2afloat\u7c7b\u578b\u7684\u6570\u7ec4\u5143\u7d20\uff0c\u5e76\u7528\u9009\u62e9\u6392\u5e8f\u6cd5\u6309\u964d\u5e8f\u6392\u5217\uff1f


#include
#include
#include
int main()
{ float a[40],t;
int i,j,k;
srand(time(0));
for(i=0; i<40; i++)
{ a[i]=rand()%1001/10.0;
printf("%8g",a[i]);
}
printf("\u6392\u5e8f\u4ee5\u540e\uff1a\n");
for(i=0; i<39; i++)
{ k=i;
for(j=i+1; j<40; j++)
if(a[j]>a[k])k=j;
t=a[i];
a[i]=a[k];
a[k]=t;
}
for(i=0; i<40; i++)
printf("%8g",a[i]);
return 0;
}

//\u53d6\u968f\u673a\u65f6\u95f4\u5c31\u53ef\u4ee5\u4e86# include # include //\u53d6\u968f\u673a\u6570# include //\u65f6\u95f4\u51fd\u6570\u5934\u6587\u4ef6int main(void){ int i,j,t; float sum[40];//\u53d6\u968f\u673a\u6570\u505a\u8c1c\u5e95 srand((float)time(0));//\u7528\u73b0\u884c\u65f6\u95f4\u51fd\u6570\u8fd4\u56de\u503c \u7f6e\u968f\u673a\u79cd\u5b50 //answer = rand()%100+1;//\u5c06\u968f\u673a\u6570\u7684\u672b\u5c3e2\u4f4d\u6570\u53d6\u51fa\u6765 + 1 \u76f8\u5f53\u4e8e 99 + 1 =\u968f\u673a\u6570 \u6700\u5927100; for(i = 0; i sum[j]) { t = sum[i]; sum[i] = sum[j]; sum[j] = t; } } for(i = 0; i < 40; i++) { printf("%6.1f\n",sum[i]); } return 0;}

//思路:直接生成随机浮点数并排序有点麻烦。所以,先生随机整数,排序,再将每个数同

//时除以100,形成浮点数。当然,也可以除以10,1000之类的。自己喜欢.
#include <iostream>
#include <ctime>
#define N 10 //数组预定义大小,请自行更改
using namespace std;

void Bubble(int *a, int n){  //整数冒泡排序
      int i,j,t;
      for(i=0;i<n;i++)
        for(j=i+1;j<n;j++)
        {
          if(a[j]<a[i])
          {
            t=a[j];
            a[j]=a[i];
            a[i]=t;
          }
        }

int main(){    
    int i,k=0;
    int list[N];//整数数组,保存生成的随机数
    float res[N];//浮点数数组,保存结果

    srand((unsigned)time(NULL));
    while(k!=N){//生成整数    
      list[k]=rand();//注意随机整数的范围,比较大。要详细了解,可以自行度娘
     //cout<<list[k]<<" ";  //调试用     
     ++k; 
    }  
    Bubble(list,k);//排序    
    cout<<"result: " <<endl;
    for(i=0;i!=k;++i){//输出
        res[i]=list[i]/100.0;//除数可以自己选择,选100是因为缩小100倍,容易形成小数
     cout<<res[i]<<" ";
    }
    cout<<endl;
   
    return 0;
}


扩展阅读:扫一扫题目出答案 ... c++入门程序代码 ... 小学生学c++ ... c++编程可以自学吗 ... 手机c++编程软件 ... c++编程代码大全 ... c++和python先学哪个 ... c++简单程序实例 ... c++编程必背50个代码 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网