回 帖 发 新 帖 刷新版面

主题:[原创]问题


题目给一位数组赋15个0-19的随机数。代码如下:
#include<stdio.h>
#include<stdlib.h>
void getdata(int *);


main()
{
int a[15],i;
getdata(a);
for(i=0;i<15;i++)
printf("%3d",a[i]);
printf("\n");
}



void getdata(int *a)
{

int i,j,x;
a[0]=rand()%19;




for(i=0;i<14;)

{   
    x=rand()%19;
    for(j=0;j<=i&&x!=a[j];j++);  
    if(j==i+1){a[i+1]=x;i++;}
  
}

}


代码结束。

while(j<=i&&x!=a[j])j++;  
for(j=0;j<=i&&x!=a[j];j++);
内层否循环用这两个时得出正确结果。


换成
/*for(j=0;j<=i;j++)if(x=a[j])break; */
此时编译通过,但系统长久给不出答案,
跪求解释?

回复列表 (共3个回复)

沙发


不好意思,写错了,少写个=。
是软件出毛病了,代码没错,发帖子的时候整错了。

板凳


[code=c]
#include<stdio.h>
#include<stdlib.h>
void getdata(int *);




main()
{
int a[15],i;
getdata(a);
for(i=0;i<15;i++)
printf("%3d",a[i]);
printf("\n");
}






void getdata(int *a)
{

int i,j,x;
a[0]=rand()%19;




for(i=0;i<14;)

{   
    x=rand()%19;
    for(j=0;j<=i&&x!=a[j];j++); 
    if(j==i+1){a[i+1]=x;i++;}
  
}

}
[/code]

3 楼

其实代码还是有几个错误滴

我来回复

您尚未登录,请登录后再回复。点此登录或注册