鱼C论坛

 找回密码
 立即注册
查看: 685|回复: 1

[已解决]C语言数组问题求助

[复制链接]
发表于 2020-4-2 20:41:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我设置了两个数组一个是int型一个是char型
现在我想根据int数组里的数据来给char数组赋值,但是只有第一个赋值成功了
我有点不明白哪里有问题,代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
        FILE*fp1,*fp2;
        int s[10];
        char a[10];
        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[n]);
        }
        fclose(fp1);
        
        for(n=0;n<10;n++)
        {
                if(s[i]>=90 && s[i]<=100)
                {
                        a[i]='A';
                        break;
                }
                if(s[i]>=80 && s[i]<=89)
                {
                        a[i]='B';
                        break;
                }
                if(s[i]>=70 && s[i]<=79)
                {
                        a[i]='C';
                        break;
                }
                if(s[i]>=60 && s[i]<=69)
                {
                        a[i]='D';
                        break;        
                }
                if(s[i]<60)
                {
                        a[i]='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[j],a[j]);
        }
        
        fclose(fp2);
        
        
}[/code]
                {
                        a[i]='A';
                        break;
                }
                if(s[i]>=80 && s[i]<=89)
                {
                        a[i]='B';
                        break;
                }
                if(s[i]>=70 && s[i]<=79)
                {
                        a[i]='C';
                        break;
                }
                if(s[i]>=60 && s[i]<=69)
                {
                        a[i]='D';
                        break;        
                }
                if(s[i]<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[j],a[j]);
        }
        
        fclose(fp2);
        
        
}
[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
最佳答案
2020-4-2 20:44:48
循环里面应该是 s[n] 和 a[n]
而且不要break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-2 20:44:48 | 显示全部楼层    本楼为最佳答案   
循环里面应该是 s[n] 和 a[n]
而且不要break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 13:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表