A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#include <stdio.h>
#include <stdlib.h>
#define LEN 10
int length = 0;
int arr[LEN];
int main(){
    int arr[LEN];int length = 0;int num;


   
        for(int i=0;i<=length;i++){
         //生成一个随机数组
       int num = arc4random_uniform(10);
            //判断这个随机数
           if(arr[i]==num){
               continue;
            }
            arr[length++] = num;

        }


    for (int i=0;i<length;i++){
        printf("arr[%d] = %d\n",i,arr[i]);
    }
}

3 个回复

正序浏览
转街过巷 发表于 2015-4-29 14:19
if(arr==num){
               continue;
            }

我也不太清楚
回复 使用道具 举报
你写的for循环有意义吗,不是第一次判断的时候就直接跳出了吗,你应该给length 赋一个大于0的值,先进入for循环体
回复 使用道具 举报
if(arr[i]==num){
               continue;
            }
            arr[length++] = num;

arr数组没有初始化那它和num比较有什么意义?
根据题意应该把length设置为10吧
arr[length++] = num;
改成arr[i]=num;
这说的只是部分,我没有调试不知道程序能不能得到你想要的结果。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马