求助各位好心人帮改改这个程序~~~~头脑有点混乱了
#include <stdio.h>main()
{int NUM;
printf("Enter the total number of player: ");
scanf("%d",&NUM);
int a[NUM+1],i;
a[0]=0;
printf("Enter the score of the player: ");
for(i=1;i<=NUM;i++)
scanf("%d",&a[i]);
int m[NUM+1],l[NUM+1];
int min,num,k,j;
num=1;
for(i=1;i<=NUM;i++)
if(m[i]==0)
{
min=a[i];
k=1;
l[k]=i;
for(j=j+1;j<=NUM;j++)
if(m[j]==0)
if(a[j]<min)
{
min=a[j];
k=0;
l[++k]=j;
}
else if(a[j]==min)
l[++k]=j;
for(j=1;j<=k;j++)
m[l[j]]>=num;
num++;
i=0;
}
printf("Player-No score Rank\n");
for(j=1;j<=NUM;j++)
printf("%3d %4d %4d\n",j,a[j],m[j]);
}
到处都是declaration syntax error
----------------解决方案--------------------------------------------------------
为什么数组下标用变量 NUM (得用常量啊)
如果要使用大写常量 #define NUM 20 /* 或者别的数值,放在程序的开头*/
C 规则,定义局部变量须放在 main()主函数的下一行,不允许夹杂定义.
如:
main()
{
int a,b;
}
main()
{
printf("%d",a);
int a;
printf("\n");
}
----------------解决方案--------------------------------------------------------
恩,建议楼主换一个编译器
----------------解决方案--------------------------------------------------------
你用的编译器不支持
int num = 10;
int ar[num]; // 这是C99标准中定义的
[[it] 本帖最后由 cosdos 于 2008-3-5 23:04 编辑 [/it]]
----------------解决方案--------------------------------------------------------
我试试吧,谢谢了!
请问要是把这个程序的结果输出到磁盘文件中该怎么编写? ----------------解决方案--------------------------------------------------------
用文件指针..你去看看书啊
----------------解决方案--------------------------------------------------------
身边没有这方面的书 麻烦指导一下
----------------解决方案--------------------------------------------------------
如果编译器不支持可以使用
int * a = (int *)malloc(sizeof(int) * (NUM + 1));
----------------解决方案--------------------------------------------------------
FILE *fp;
fp=fopen(filename,"w");用什么方式打开文件;
把你的printf换成fprintf(fp,......);
最好放本书...
----------------解决方案--------------------------------------------------------
int m[NUM + 1], l[NUM + 1];
int min, num, k, j;
num = 1;
for(i = 1; i <= NUM; i++)
{
if(m[i] == 0) // m[i] 的值无效,是个随机值
{
----------------解决方案--------------------------------------------------------