求这个程序的C++代码

用计算机生成10个100以内的随机小数(四位有效数字),输出随机数和排序结果(要求分别用冒泡法和选择法编程);

//有效数字是指在分析工作中实际可测的数字,从第一个非零位到最后一个可测数字的数字数即为有效数字的位数

//但是这样有效数字的位数不能提供精度范围,精确到0.1或0.0000001都可以提供四位有效数字,而这是浮点数有限的范围所不能表示的,所以这里添加一个条件精确度浮动于0.01与0.0001之间,,以方便编程,那么最大数是99.99(有效数字为四位,精度为0.01), 最小数是0.1000(精度为0.0001)。用随机数表实现。

//代码如下:

#include<iostream>


#include<cstdlib>


#include<ctime>


#include<cstring>


using namespace std;


//排序函数


void bubsort(double * lst, int l) {


int i,j;

double k;


for(j=l-1; j>0; j--)


for(i=0; i<j; i++) {


if(lst[i]>lst[i+1]) {


k=lst[i];

lst[i]=lst[i+1];

lst[i+1]=k;


}


}


}




void selsort(double * lst, int l) {


int i,j,m;

double k;


for(j=l; j>0; j--) {


m=0;


for(i=1; i<j; i++) {


if(lst[i]>lst[m])m=i;



}


k=lst[i];

lst[i]=lst[m];

lst[m]=k;


}


}






int main() {


char cht[10*6];//随机数表


double arr[10], lst1[10], lst2[10];


time_t t;


int i, j, k;


srand((unsigned) time(&t));




//产生随机数表


for(i=0; i<10*6; i++) cht[i]=rand()%10;


//产生随机数列


k=0;


for(i=0; i<10; i++) {


arr[i]=0;


while (cht[i*4+0+k]==0) k++;


for (j=0; j<4; j++)arr[i]=arr[i]*10+cht[i*4+j+k];


arr[i]/=100;


for(j=-rand()%3; j<0; j++)arr[i]/=10;


}


cout<<"\n10个4位有效数字的随机数:\n";


for(i=0; i<10; i++)cout<<arr[i]<<' ';


memcpy(lst1, arr,  sizeof arr);


memcpy(lst2, arr,  sizeof arr);


bubsort(lst1,10);

cout<<"\n经冒泡排序后:\n";


for(i=0; i<10; i++)cout<<lst1[i]<<' ';


selsort(lst2,10);


cout<<"\n经选择排序后:\n";


for(i=0; i<10; i++)cout<<lst1[i]<<' ';

return 0;


}

devc++中编译运行结果

以下是代码截图:

温馨提示:内容为网友见解,仅供参考
无其他回答

求这个程序的C++代码
而这是浮点数有限的范围所不能表示的,所以这里添加一个条件精确度浮动于0.01与0.0001之间,,以方便编程,那么最大数是99.99(有效数字为四位,精度为0.01), 最小数是0.1000(精度为0.0001)。用随机数表实现。

C语言(最好C++)编一下这个程序
i_m = i_f = 0;\/\/这里是对所需数目的教师信息输入用teacher这个指针接收,并判断男女,若男利用Mp链接以Male为首地址的链表中,若女利用Fp链接进以 printf("Pls enter the information of teacher:\\n注意中间一空格间隔,性别只可为大写的F或M,Ex:张三 187 M\\n");for (int i = 0; i <...

请大神们用C++语言编写这个程序
include <iostream>using namespace std;int main(){int SleepHour,SleepMin,SleepSec,GetupHour,GetupMin,GetupSec;int BedHour,BedMin,BedSec;cout<<"请输入入睡时间,格式HH MM SS:";cin>>SleepHour>>SleepMin>>SleepSec;cout<<"请输入起床时间,格式HH MM SS:";cin>>GetupHour>>GetupMin...

用c++编写一个程序,要求创建一个类,输入若干个学生的数据,包括学号,姓名...
参考代码:include <iostream>#include <string>using namespace std;#define MAX 100class Student{private:string num;string name;double subject[3];double total;public:void input(Student s[], int);void sort(Student s[], int);void print(Student s[], int);}stu[MAX];void Student::...

帮忙解决一下这个程序设计题,用C++写.谢谢
include <string.h> char * copy(char *a, int m, int n){ static char tmp[255];strncpy(tmp, a+m, n);return tmp;} int main(){ char a[255];int m, n;printf("输入字符串:\\n");gets(a);printf("输入m n:\\n");scanf("%d %d", &m, &n);puts(copy(a, m, n));...

C++程序 求代码
int a,b,i,j;char f[]={'+','-','*','%','\/'};for(i=0;i<5;i++){ for(j=0;j<5;j++){ b=1;if(i<2&&j>1) \/\/判断运算符优先级 {switch(j){case 2:a=1*1;break;case 3: a=1%1;break;case 4: a=1\/1;break;default: break;} switch(i){case 0: b=1...

用C++怎么编这个图案的 程序,请人 帮忙
C++编的 include <iostream> using namespace std;void print(){cout<<"*";} int main(){ for(int i=1;i<5;i++)for(int j=1;j=<2*i-1;i++)print(); \/\/上半部分 for(int i=3;i>=1;i++)for(int j=1;j=<2*i-1;j++)print();\/\/下半部分 return 0;} ...

c++入门代码是什么?
c++入门代码如下:include <stdio.h> int main(void){ printf("Hello, world!");return 0;} 代码解析:其中第一行的#include <stdio.h>,这行代码是编译预处理指令,用来提供输入输出函数的声明和宏的定义,全局量的定义这些信息。stdio.h是系统提供的一个文件名,stdio是为standard input & ...

一个c++简单程序的源代码
include <iostream.h> int main(){ int a;cin>>a;cout<

用C++编写一个计算器程序。用户输入两个运算数和四则运算符,输出计算结 ...
用C++编写的”输入两个运算数和四则运算符,输出计算结果”计算器程序代码具体如下:include<stdio.h> void main(){int a,b,d;char c;printf("请输入一种运算符:\\n");scanf("%c",&c);printf("请输入两个数:\\n");scanf("%d",&a);scanf("%d",&b);switch(c){ case '+':d=a+...

相似回答