前面都完成了,不知道如何输出每个数的数量。
int[] arr = new int[10];
Random r = new Random();
int i;
for (i = 0; i < arr.Length; i++)
{
int um = r.Next(1, 101);
arr[i] = um;
Console.WriteLine("Element[{0}] = {1}", i, arr[i]);
}
for (i = 0; i < arr.Length - 1; i++)
{
int minValue = arr[i];
int minValueIndex = i;
for (int j = i + 1; j < arr.Length; j++)
{
if (arr[j] < minValue)
{
minValue = arr[j];
minValueIndex = j;
}
}
if (i != minValueIndex)
{
int tmp = arr[minValueIndex];
arr[minValueIndex] = arr[i];
arr[i] = tmp;
}
}
Console.WriteLine("从小到大是:");
foreach (var item in arr)
{
Console.Write(item + " ");
}
哪里弄来的代码,感觉与你题意不符,你要100个(0~9)随机数,为何arr[10]?,怎么挤进去的?
还有,如果是统计每一数的数量,你的排序代码就是多余的了,有更好的算法
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int i, num;
int count[10] = {0}; // 存储每个数字出现的次数,初始化为0
srand((unsigned) time(NULL)); // 初始化随机数种子
// 生成100个随机数,并统计每个数字出现的次数
for (i = 0; i < 100; i++) {
num = rand() % 10; // 生成0-9之间的随机整数
count[num]++; // 将num出现的次数加1
}
// 输出每个数字出现的次数
for (i = 0; i < 10; i++) {
printf("%d: %d\n", i, count[i]);
}
return 0;
}