数组相关 PartOne

 1 /*
 2     Time:        2017.08.10
 3     Function:    输入一个数值,判断是否有重复,如果有重复,则找出其中所有重复的数                
 4     Versions:    002
 5 */
 6 #include<stdio.h>
 7 
 8 #define TURE 1
 9 #define FLASE 0
10 
11 typedef int BOOL;
12 
13 int main()
14 {
15     int digit_seen[10] = {0};
16     int digit = 0, i = 0;
17     long int number = 0;
18 
19     printf("Enter a number:");
20     scanf_s("%d", &number);
21 
22     while(number > 0 )
23     {
24         digit = number % 10;
25         digit_seen[digit] = digit_seen[digit] + 1;    //每有一次重复,递增1
26         number /= 10;
27     }
28 
29     for(i=0; i<10; i++)
30     {
31         if(digit_seen[i] > 1)
32         {
33             printf("%d重复出现了%d次!\n", i, digit_seen[i]);
34         }
35     }
36 
37     return 0;
38 }

       先上代码,先确定10个数的数组 digit_seen[10],然后对需要检测的数进行取余,然后将余数作为数组的下标,没出现一次,那么每当这个数值出现一次时,对应的数组加1,通过此种方法可以求得对应的数。

      通过数组下标与对应的数值进行对比得到数值里面重复的数。

posted on 2017-08-10 18:26  浅木  阅读(101)  评论(0)    收藏  举报

导航