C语言 整除 排序问题

来源:百度知道 编辑:UC知道 时间:2024/05/06 18:14:56
随机产生20个100~300之间的整数,选出其中能被3或能被5整除的数,并把它们从小到大排序后(选择排序法)按每行5个数输出。
一定要用(选择排序法),谢谢

程序如下,在 TC 下测试通过

前下子的程序出了点问题把 rand() % 300 + 101改为 rand() % 199 + 101,因为产生的数在100~300之间。

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

int main(void)
{
int i, j, k;
int n;
int temp;
int num[20];

srand((unsigned)time(NULL));

for (i = 0, n = 0; i < 20; i++) /*产生20个随机数*/
{ temp = rand() % 199 + 101;
printf("%d\t", temp); /*输出随机数*/
if (temp % 3 == 0 || temp % 5 == 0)
num[n++] = temp; /*选出符合条件的数*/
}
printf("\n\n");
for (i = 0; i < n; i++)
printf("%d\t", num[i]); /*输出选出的数*/
printf("\n\n");

for (i = 0; i < n; i++) /*进行选则排序*/
{ k = i; for (j = i + 1; j < n; j++)
if (num[k