以下是引用编程小菜鸟在2006-3-20 18:28:00的发言:
#include <stdio.h>
#define N 100
#define S 1
#define M 10
int p[100], n, s, m ;
void WriteDat(void) ;
void Josegh(void)
{
int i,j,a[100],c,d;
for(i=0;i<N;i++)
a=i+1; 这三个句子是不是都在for中啊?
c=N;
d=S;
for(i=0;i<N;i++)
{
d=(d+M-2)%c;
p=a[d];
c--;
for(j=0;j<c;j++) /*为什么经过这个循环之后c的值由99变成-34了???*/
a[d+j]=a[d+1+j];
}
}
void main()
{
m = M ;
n = N ;
s = S ;
Josegh() ;
WriteDat() ;
}
void WriteDat(void)
{
int i, j = 0 ;
FILE *fp ;
fp = fopen("C:\\WEXAM\\35990001\\out.dat", "w") ;
for(i = 0 ; i <= N - 1 ; i++) {
printf("%4d ", p) ;
fprintf(fp, "%4d", p) ;
j++ ;
if(j % 10 == 0) {
printf("\n") ;
fprintf(fp, "\n") ;
}
}
fclose(fp) ;
}
请大家们指点!!!
#include <stdio.h>
#define N 100
#define S 1
#define M 10
int p[100], n, s, m ;
void WriteDat(void) ;
void Josegh(void)
{
int i,j,a[100],c,d;
for(i=0;i<N;i++)
a=i+1; 这三个句子是不是都在for中啊?
c=N;
d=S;
for(i=0;i<N;i++)
{
d=(d+M-2)%c;
p=a[d];
c--;
for(j=0;j<c;j++) /*为什么经过这个循环之后c的值由99变成-34了???*/
a[d+j]=a[d+1+j];
}
}
void main()
{
m = M ;
n = N ;
s = S ;
Josegh() ;
WriteDat() ;
}
void WriteDat(void)
{
int i, j = 0 ;
FILE *fp ;
fp = fopen("C:\\WEXAM\\35990001\\out.dat", "w") ;
for(i = 0 ; i <= N - 1 ; i++) {
printf("%4d ", p) ;
fprintf(fp, "%4d", p) ;
j++ ;
if(j % 10 == 0) {
printf("\n") ;
fprintf(fp, "\n") ;
}
}
fclose(fp) ;
}
请大家们指点!!!
I am a programmer !