C程序中遇到的小问题,(有加分)

来源:百度知道 编辑:UC知道 时间:2024/05/06 04:28:44
回答出来加分至少30!满意的话最高70!
#include<stdio.h>
void main(){
int n1[100],n2[100],n3[100],n4[100],n5[100],n6[100],N[100],suiji,i;
int *p1=n1,*p2=n2,*p3=n3,*p4=n4,*p5=n5,*p6=n6,*p7=N;
int m1[100],m2[100],m3[100],m4[100],m5[100],m6[100],M[100];
int *q1=m1,*q2=m2,*q3=m3,*q4=m4,*q5=m5,*q6=m6,*q7=M;

for(i=0;i<5;p1++,p2++,p3++,p4++,p5++,p6++,p7++){
while(1){
suiji=rand()%34;
if(suiji!=0){
*p1=suiji;
break;
}
}
while(1){
suiji=rand()%34;
if(suiji!=0&&suiji!=*p1){
*p2=suiji;
break;
}
}
while(1){
suiji=rand()%34;
if(suiji!=0&&suiji!=*p1&&suiji!=*p2){
*p3=suiji;
break;
}
}
while(1){
suiji=rand()%34;

程序已经可以正常运行
1.你的随机数发生器没有初始化
2.for(i=0;i<5;p1++,p2++,p3++,p4++,p5++,p6++,p7++)少了一个i++
3.for(i=0;i<5;i++){
printf("%d %d %d %d %d %d %d\n",n1[1],n2[1],n3[1],n4[1],n5[1],n6[1],N[1]);
}
可能是没有注意花括号的范围了......我直接改了,在每次生成数的时候就显示
4.把没有用的变量注释掉了
5.在计算机没有真随机,都是通过一定的数学方法生成一个循环长度很长的序列,比如什么线性移位器就是用来生成随机数的
6.还不明白就加QQ331012005,或群9209868
#include <stdlib.h>
#include<stdio.h>
#include <time.h>
void main(){
int n1[100],n2[100],n3[100],n4[100],n5[100],n6[100],N[100],suiji,i;
int *p1=n1,*p2=n2,*p3=n3,*p4=n4,*p5=n5,*p6=n6,*p7=N;
/* int m1[100],m2[100],m3[100],m4[100],m5[100],m6[100],M[100];
int *q1=m1,*q2=m2,*q3=m3,*q4=m4,*q5=m5,*q6=m6,*q7=M; */
time_t t;
srand((unsigned) time(&t));

for(i=0;i<5;i++,p1++,p2++,p3++,p4++,p5++,p6++,p7++){
while(1){
suiji=rand()%34;
if(suiji!=0){
*p1=suiji;
break;