黑马程序员技术交流社区

标题: 有100个数,每个数取值范围是0-99,找出其中重复的数。 [打印本页]

作者: XiaoBaoMi    时间: 2015-6-24 22:27
标题: 有100个数,每个数取值范围是0-99,找出其中重复的数。
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main() {
  4.     //随机数存储于数组b
  5.     long long b[100];
  6.     //重复的数存储于数组c
  7.     long long c[100] = {0};
  8.     //数组C的下标
  9.     int k = 0;
  10.     //把随机数存入C中
  11.     for (int i = 0; i < 100; i++) {
  12.         b[i] = arc4random_uniform(100);
  13.         //printf("随机产生的数组为%lld\t",b[i]);
  14.     }
  15.     //循环遍历比较
  16.     for (int i = 0; i < 99; i++) {
  17.         for (int j = i + 1; j < 100 - i; j++) {
  18.             //如果相等则取出该数
  19.             if (b[i] == b[j]) {
  20.                 //防止重复录入
  21.                 if (b[i] == c[k - 1]) {
  22.                     continue;
  23.                 }
  24.                 //把重复的数字赋值为-1
  25.                 else{
  26.                 c[k] = b[i];
  27.                 b[j] = -1;
  28.                 k++;
  29.                 }
  30.             }
  31.         }
  32.         
  33.     }
  34.     for (int i = 0 ; i < k; i++) {
  35.         //把-1滤掉,只留下重复的数字且只输出一次重复的数字
  36.         if (c[i] != -1) {
  37.             printf("%lld\t",c[i]);
  38.         }
  39.         
  40.     }
  41.    
  42.     return 0;

  43. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2