|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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]
循环里面应该是 s[n] 和 a[n]
而且不要break
|
|