在C语言中,自定义一个数组,100个元素,对其进行随机赋值,数值范围为0~255。要求从小到大排序

在C语言中,自定义一个数组,100个元素,对其进行随机赋值,数值范围为0~255。要求从小到大排序要写出流程图和思路。

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
int numbers[100], i, j, temp;

srand(time(NULL));

// 产生随机数
for (i = 0; i < 100; i++) {
numbers[i] = rand() % (255 + 1);
}

// 冒泡法排序
for (i = 0; i < (100 - 1); i++) {
for (j = 0; j < (100 - i - 1); j++) {
if (numbers[j] > numbers[j + 1]) {
temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
}
}
}

// 输出
for (i = 0; i < 100; i++) {
printf("%d ", numbers[i]);
}

printf("\n");

system("pause");
return 0;
}

追问

思路是?

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-16
说下思路吧
定义100个元素的数组
写个循环限制循环次数为100
循环里面随机生成0到225的数字,并依次赋值给对应次数的数组成员

c语言创建数组,使用循环给数组赋值(数值为随机产生1-100的数),并遍历...
include "stdio.h"#include "stdlib.h"#include "time.h"int main(void){ char a[100]; int i,j; srand((unsigned)time(NULL)); for(i=0;i<100;a[i++]=rand()%100+1); for(i=0;i<100;i++){ for(j=0;j<99-i;j++) if(a[j]>a[j+1]) a[...

如何用c语言实现:定义一个1~100的int数组,随机从里边选择十个数字?
include<stdio.h> void insert(int *a, int *p){ int m,i,e;printf("插入位置:(0<m<%d)",*p);scanf("%d", &m);printf("插入元素的值:");scanf("%d", &e);for(i = *p; i >= m ; --i)a[i] = a[i - 1];a[m-1] = e;(*p)++;} void sort(int *a, int *p...

C语言:随机生成100个数存入数组,存入数组过程中保持数组非递减有序...
{ arr[k+1]=arr[k];} break;} } arr[j]=t;} printf("按非递减有序排列的数组各元素的值是:\\n");for(i=0;i<100;i++){ printf("%d ",arr[i]);if(0==(i+1)%10){ printf("\\n");} } t=100;for(i=0;i<t;){ if(0==arr[i]%3){ for(j=i+1;j<t;j++){ ...

c语言问题,我先初始化一个int型数组int a[100]={0},经过一些操作之后给...
前面三个是没错,printf错了,a作为一个数组,直接用a表示数组指针而已。 a等效于 &a[0]。要打印整个数组,应该这样 int i;for(i=0;i<100;i++){ printf("%d \\n",a[i]);}

一个字节的无符号数能表达的数值范围是0---255,
2^8=256 从0-256刚好256个数。两个字节代表可以储存的最大数为2^16=65536,两个字节若不考虑符号问题,那么可以储存0-65536个数。考虑符号问题,二进制第一位为符号位,则储存的最大数为2^15=32768。0不属于正数也不属于负数,所以有符号的情况下,储存的数字为-32768——+32767 ...

在C语言:用随机数生成一个整数数组,数组中有10个元素,各元素的值在0...
C程序:include <stdio.h> include include <stdlib.h> void main(void){ int i;int arr[10];srand(time(NULL));for(i=0; i<10; i++)arr[i] = rand() % 10;for(i=0; i<10; i++)printf("%4d", arr[i]);printf("\\n");} ...

C语言怎么编写一个数组?
在 C 语言中,编写一个数组需要声明数组的大小和类型,然后为数组分配内存。以下是一个简单的示例,展示了如何声明和初始化一个整数数组:```c include <stdio.h> int main() { \/\/ 声明一个包含 10 个元素的整数数组 int arr[10];\/\/ 初始化数组的第一个元素为 10 arr[0] = 10;\/\/ 初始...

C语言 怎么计算阵列中每一个不同元素出现的次数
C语言 怎么计算阵列中每一个不同元素出现的次数 如果可能出现的数的范围有限的话,可以用阵列来解决 int counter[100];只能解决0~99范围内的整数for(int i=0;i<sizeof(a)\/sizeof(int);i++){ counter[a[i]]++;}for(int i=0;i<100;i++){ if(counter[i])printf("%d出现%d...

C语言编程 将100个实数输入到一个一维数组中,求出各元素的和、平均值...
\/\/将100个实数输入到一个一维数组中,求出各元素的和、平均值、最小值和最大值及其所在的行号和列 include <stdio.h> define M 100 int main(){ float c[M];int i,n=0;float sum=0.0,ave,min,max;\/\/和、平均值、最小值和最大值 int minx,maxx;\/\/最小值和最大值所在列 pri...

c语言对a[100]赋值,事先不知道几个,但不超过100个求怎样辅助
int a[100];int count;int (*add)(struct aa*,int);} st_a;int add(st_a *p, int a){ if(p->count < 100) { p->a[p->count++] = a;return 0;} return -1;} int main(int argc, char **argv){ int i;st_a A={{0}, 0, add};for(i = 0; i < 102; i ++)...

相似回答