1. /*-------------------------------------------------------
    2. 【程序改错】
    3. ---------------------------------------------------------
    4. 题目:下列给定程序中,函数fun的功能是:找出100~n(不大于1000)之间三个位上的数
    5. 字都相等的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。
    6. -------------------------------------------------------*/
    7. #include <stdio.h>
    8. #define N 100
    9. /***********FOUND***********/
    10. int fun(int *s, int n)
    11. {
    12. int i,j,k,a,b,c;
    13. j=0;
    14. for(i=100; i<n; i++)
    15. {
    16. /***********FOUND***********/
    17. k=i;
    18. a=k%10;
    19. k/=10;
    20. /***********FOUND***********/
    21. b=k%10;
    22. c=k/10;
    23. if(a==b && a==c)
    24. s[j++]=i;
    25. }
    26. return j;
    27. }
    28. void main()
    29. {
    30. /***********FOUND***********/
    31. int a[N], n, num=0, i;
    32. do
    33. {
    34. printf("\nEnter n(<=1000) :");
    35. scanf("%d",&n);
    36. }
    37. while(n > 1000);
    38. num= fun(a,n);
    39. printf("\n\nThe result :\n");
    40. for(i=0; i<num; i++)
    41. printf("%5d",a[i]);
    42. printf("\n\n");
    43. }