基础:冒泡法和选择法的使用

定义一个存放10个整形数据的数组,利用rand()函数结合产生10个0~99的随机整数并放在数组内

要求:
(1)对数组中的10个原始整数数据进行输出。
(2)利用getchar()函数接收键盘输入,当输入字符’1’时,对数组中的整形数据利用冒泡法进行升序排列并输出。
(3)利用getchar()函数接收键盘输入,当输入字符’2’时,对数组中的整形数据利用选择法进行降序排列并输出。

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

int main()
{
	int int_10[10] = { 0 };
 	int i = 0, j, k = 0, m = 0, n = 0;

    	srand((unsigned)time(NULL));
 	for (i = 0; i < 10; i++)
 	{
  	int_10[i] = rand() % 100;
 	 printf("%d ", int_10[i]);
 	}

       	printf("\n");
  	printf("请输入1(升序)或2(降序)\n");

	j = getchar();     //一个陷阱,getchar进去的是字符ASCII码‘1’是49,‘2’是50
	
	switch (j - 48)
 {
 	case 1:
  for (i = 0; i < 9; i++)
    {
  	 for (m = 0; m < 9 - i; m++)
  	 {
   	 	if (int_10[m] > int_10[m + 1])
   		 {
     		n = int_10[m];
     		int_10[m] = int_10[m + 1];
     		int_10[m + 1] = n;
   	 	}
   	 }
     }
    for (i = 0; i < 10; i++)
  	{
  	 printf("%d ", int_10[i]);
  	}
 	 break;

      case 2:
  for (i = 0; i < 9; i++)
  {
   	 k = 9 - i;
   	for (j = 0; j < 9 - i; j++)
   	{
    	if (int_10[j] < int_10[k])
    		{
      		n = int_10[j];
     		int_10[j] = int_10[k];
    		 int_10[k] = n;
   		 }
  	 }
  }
  	for (i = 0; i < 10; i++)
   	{
   	printf("%d ", int_10[i]);
  	}
  	break;
 default:
  	printf("请输入正确的数字!\n");
  	break;
 }
 }

这是我的作业,很多地方不规范,可能看不懂,多多包涵。
对于定义的i,j,k,m如果前面用过以后失去作用,我会拿来复用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值