关于#ar#的问题,如何解决?

出现乱码

#include
#include
#include

int main()
{
int i,len;
char a[81],b[81],c[81];
gets(a);
len=strlen(a);
for(i=0;i
{
if(a[i]!='*')
break;//i=7
}
printf("len=%d,i=%d\n",len,i);
strncpy(a,b,i-1);//将a的前六个拷给b
strncpy(a+i-1,c,len-i);//将a的后半部分拷贝给c
strcpy(c,b);
puts(c);
return 0;
}
题目 http://www.tzcoder.cn/acmhome/problemdetail.do?method=contestProblemDetail&contestId=3475&id=G


#include<stdio.h>
struct ss
{
    double score[7];
    char name[30];
}opp;
int main( )
{
    int i,j;
    double ave,sum=0,temp;
    while(~scanf("%lf",&opp.score[0]))
    {  sum=0;
        for(i=1;i<=6;i++)
        {
            scanf("%lf",&opp.score[i]);
        }
        scanf("%s",opp.name);
        for(i=0;i<7-1;i++)
        {
            for(j=i+1;j<7;j++)
            {
                if(opp.score[i]>opp.score[j])
                {
                    temp=opp.score[i];
                    opp.score[i]=opp.score[j];
                    opp.score[j]=temp;
                }
            }
        }
        for(i=1;i<=5;i++)
        {
            sum=sum+opp.score[i];
            
        }
        
        ave=sum/5.0;
        printf("%s %.2lf\n",opp.name,ave);
        
    }
    
    return 0;
}

输入包含多行,如果你题目没连接错的话,那只能说代码和题目完全没有啥关系