标题:[求助]这个C语言程序哪里错了???
只看楼主
仁者无敌
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2006-3-5
得分:0 
以下是引用编程小菜鸟在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) ;
}

请大家们指点!!!


I am a programmer !
2006-03-28 06:57
crazyrabbit
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:150
专家分:0
注 册:2006-3-15
得分:0 
应该写好注释,这个程序是做什么的,你都没有交代,怎么让人去看呀,不懂规矩.

http://www./bbs/boke.asp?crazyrabbit.index.html 欢迎大家来此讨论问题!
2006-03-28 08:44
落叶一片
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-3-21
得分:0 
你的程序有错不能运行,把a=i+1;p=a[d];改成*a=i+1;*p=a[d];后没错了不过结果看不懂,介绍一下这个程序是干嘛的
2006-03-29 09:58
cuckoos123
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-3-25
得分:0 

因为a的赋值错误吧,for(i=0;i<n;i++)a=i;因为你的a是个数组,这样的好像只是在给数组a的首个元素赋值,感觉应该改为for(i=0;i<N;i++)a[i]=i;没调试结果怎么样不知道

2006-03-29 10:22
cuckoos123
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-3-25
得分:0 

好像后面的数组p也是这样吧p[i]=a[d];

2006-03-29 10:50
遥远的梦
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-3-13
得分:0 
a=i+1 我带你调试了一下,是你这段程序出错了!

刻苦学习编程中。。。。。。。。。。。 先掌握基础语言C语言。。。。。。。。。。。。
2006-03-29 20:19
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
得分:0 
好像是约瑟夫环问题

2006-03-29 21:01
指幕天
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-3-7
得分:0 
首先要说明你在什么....

念双燕,难凭音信;指幕天,空识归航!
2006-03-29 21:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-51648-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.292764 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved