cddyy2366 发表于 2020-4-2 20:41:30

C语言数组问题求助

我设置了两个数组一个是int型一个是char型
现在我想根据int数组里的数据来给char数组赋值,但是只有第一个赋值成功了
我有点不明白哪里有问题,代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
      FILE*fp1,*fp2;
      int s;
      char a;
      int n,i,j;
      
      if ((fp1=fopen("GRADE.DAT.txt","r"))==NULL)
      {
                printf("File open error!\n");
                return 0;
      }
      
      for(n=0;n<10;n++)
      {
                fscanf(fp1,"%d",&s);
      }
      fclose(fp1);
      
      for(n=0;n<10;n++)
      {
                if(s>=90 && s<=100)
                {
                        a='A';
                        break;
                }
                if(s>=80 && s<=89)
                {
                        a='B';
                        break;
                }
                if(s>=70 && s<=79)
                {
                        a='C';
                        break;
                }
                if(s>=60 && s<=69)
                {
                        a='D';
                        break;      
                }
                if(s<60)
                {
                        a='E';
                        break;
                }
      }

      if ((fp2=fopen("GRADE.OUT.txt","w"))==NULL)
      {
                printf("File open error!\n");
                return 0;
      }
      
      
      fprintf(fp2,"Numberical                Grade\n");
      fprintf(fp2,"Score                                 \n");
      for(j=0;j<10;j++)
      {
                fprintf(fp2,"%d                              %c\n",s,a);
      }
      
      fclose(fp2);
      
      
}
                {
                        a='A';
                        break;
                }
                if(s>=80 && s<=89)
                {
                        a='B';
                        break;
                }
                if(s>=70 && s<=79)
                {
                        a='C';
                        break;
                }
                if(s>=60 && s<=69)
                {
                        a='D';
                        break;      
                }
                if(s<60)
                {
                        a='E';
                        break;
                }
      }

      if ((fp2=fopen("GRADE.OUT.txt","w"))==NULL)
      {
                printf("File open error!\n");
                return 0;
      }
      
      
      fprintf(fp2,"Numberical                Grade\n");
      fprintf(fp2,"Score                                 \n");
      for(j=0;j<10;j++)
      {
                fprintf(fp2,"%d                              %c\n",s,a);
      }
      
      fclose(fp2);
      
      
}

BngThea 发表于 2020-4-2 20:44:48

循环里面应该是 s 和 a
而且不要break
页: [1]
查看完整版本: C语言数组问题求助