随机数计数和计数排序

it2024-10-21  39

#include<stdio.h> #include<time.h> #include<stdlib.h> //随机数生成 void main() { int a[100]; int count = 0; int max = 0; int num; srand((unsigned int)time(NULL)); for(int i = 0; i < 100; ++i) { a[i]=rand()%51+50; printf("%d ",a[i]); } for(int m = 50; m <= 100; ++m) { for(int n = 0; n < 100; ++n) { if(a[n] == m) { count++; } if(count > max) { max = count; num = m; } } count = 0; } printf("\n%d %dci",num,max); }

2,计数排序

#include<stdio.h> int main(void) { int a[100] = {0};//定义一个足够大的数组,大于用户输入的最大值,小于最小值 int n; printf("how many you want\n"); scanf("%d",&n);//获取用户想要输入数字的个数,这个个数可以大于上面的一百,但是数字的范围要在0-99 int t = 0; for(int i = 1; i <= n; ++i)//遍历用户输入的所有数字 { printf("input num%d\n",i); scanf("%d",&t); a[t]++;//将数值相同的数字的个数存放在下标与数值相同的数组元素中; } for(int i = 0;i < 100; ++i)//遍历数组 { for(int j = 0; j < a[i]; ++j)//打印数组的下标,打印的个数是对应数组元素存放的值 { printf("%d ",i); } } }
最新回复(0)