回 帖 发 新 帖 刷新版面

主题:指针SOS


为什么我每次只能输入一组数据??/




#include <stdio.h>
void main()
{    void search(float(*o)[5],int M);
   void aver(float (*p)[5], float n);
    float a[3][5];
    int i,j,N;
    printf("请输入3个同学的5们成绩\n");
    for(i=0;i<3;i++)
    {
        printf("请输入第%d几个同学的成绩\n",i+1);
        for(j=0;j<5;j++)
        {
            scanf("%5.2f\n",a[i][j]);
        }
    }
    printf("输入要查的同学学号\n");
    scanf("%d",N);
    search(a,N);
    aver(a,5,N);
    

}
 void aver(float (*p)[5], float n,int N)
{    
    int i;
    float sum=0,pingjun;
    for(i=0;i<5;i++)
    {
    sum+=*(*(p+N)+i);

    }
    pingjun=sum/n;
    printf("平均分是%5.2f",    pingjun);
        

}
void search(float(*o)[5],int M)
{
    int i;
    printf("第%d的成绩是",M);
    for(i=0;i<5;i++)
    printf("%5.2f",*(*(o+M)+i));
}

回复列表 (共8个回复)

沙发

算法不看,scanf中‘ &’ lz 可注意到了么、、

板凳


额  你赢了 这是我忘了,不过貌似还不对啊啊  求解。。。[em15]

3 楼

scanf的用法建议lz先查查、、scanf("%5.2f\n",&a[i][j]);
这样的语句合法么?函数不看,因为lz需要自己解决问题的空间额、、

4 楼


e晕哦  看来我郁闷了  把它当成printf了  不过这该了会对吗 ??/不会iba 
不是这问题啊

5 楼

查scanf。顺便多了解下它的其他用法以及注意情况!

6 楼

可是就算这没问题 ,也不对啊

7 楼

这个你写的我没怎么改动,你仔细对着看看,lz可曾注意到编译器报错的地方、、
[code=c]
#include <stdio.h>

void search(float(*)[5],int );
void aver(float (*)[5], float ,int);

int main()
{    
    float a[3][5];
    int i,j,N;
    printf("请输入3个同学的5们成绩\n");
    for(i=0;i<3;i++)
    {
        printf("请输入第%d个同学的成绩\n",i+1);
        for(j=0;j<5;j++)
        {
            scanf("%f",&a[i][j]);
        }
    }
    printf("输入要查的同学学号\n");
    scanf("%d",&N);
    search(a,N);
    aver(a,5,N);
    return 0;

}
 void aver(float (*p)[5], float n,int N)
{    
    int i;
    float sum=0,pingjun;
    for(i=0;i<5;i++)
    {
    sum+=*(*(p+N)+i);

    }
    pingjun=sum/n;
    printf("平均分是%5.2f",    pingjun);
        

}
void search(float(*o)[5],int M)
{
    int i;
    printf("第%d的成绩是",M);
    for(i=0;i<5;i++)
    printf("%5.2f",*(*(o+M)+i));
}[/code]

8 楼


呵呵  由于太激动。我知道在scanf里中的写错啦,,,虽然你说的迟  我表示谢了 [em2]

我来回复

您尚未登录,请登录后再回复。点此登录或注册