当前位置: 代码迷 >> C语言 >> 求助各位好心人帮改改这个程序~~~~头脑有点混乱了
  详细解决方案

求助各位好心人帮改改这个程序~~~~头脑有点混乱了

热度:83   发布时间:2008-03-05 22:35:13.0
求助各位好心人帮改改这个程序~~~~头脑有点混乱了
#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  int  头脑  

----------------解决方案--------------------------------------------------------
为什么数组下标用变量 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] 的值无效,是个随机值
        {

----------------解决方案--------------------------------------------------------
  相关解决方案