一道C语言编程题 会的帮一下 很简单的 谢了

来源:百度知道 编辑:UC知道 时间:2024/09/28 13:31:31
随即抽取20个10到90的数, 选出其中的素数 然后用冒泡法把它们从大到小排列
我是一名大一学生 学的没有那么深 所以希望能够用我说学的知道来解决问题 谢了

#include<stdio.h>
#include<stdlib.h>
#define M 20
void main(){
int arr[M],*ptr,i,j,tmp;
for(i=0;i<M;i++)
{
arr[i]=10+rand()%81; //随机赋值
}
printf("排序前:\n");
for(i=0,ptr=arr;i<M;i++,ptr++){
printf("%d\t",*ptr);
}
//开始排序
for(i=0;i<M;i++){
for(j=M-1,ptr=&arr[M-1];j>i;j--,ptr--){
if(*ptr<*(ptr-1)){
tmp=*ptr;
*ptr=*(ptr-1);
*(ptr-1)=tmp;
}
}
}
printf("排序后:\n");
for(i=0,ptr=arr;i<M;i++,ptr++){
printf("%d\t",*ptr);
}
}

想要用随机取的话,年srand() 和 rand ()是少不的,别的就不难的!!

#include<stdlib.h>
#include <stdio.h>
#include <time.h>
void main()
{

int i,p,k=0,a[20],a2[20],j=0,n=0,m=20;long int t;
srand( (unsigned)time( NULL ) ); //这里关键,没有这句,随机出来的数重新运行每次都一样。<