| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1238 人关注过本帖, 1 人收藏
标题:挺简单的一个小问题,我没有注意,请大家指点,谢谢!
只看楼主 加入收藏
nbaqqqq
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:202
专家分:137
注 册:2009-11-6
收藏
得分:3 
#include <stdio.h>
#define N 5
struct student
{char num;
char name[10];
int score[3];
}stu[N];
input(struct student stu[])
{int m,k;
for(m=0;m<N;m++)
{printf("please input scores of student %d:\n",m+1);
   printf("NO.:");
   scanf("%d",&stu[m].num);
   printf("name:");
   scanf("%s",stu[m].name);
    for(k=0;k<3;k++)
     {printf("score %d:",k+1);
      scanf("%d",&stu[m].score[k]);
     }
   }
}
void print(struct student stu[])
{ int i,j;
  for(i=0;i<N;i++)
   {printf("%d,%s",stu[i].num,stu[i].name);
    {for(j=0;j<3;j++)
         printf(" %d ",stu[i].score[j]);}printf("\n");}
  }
main()
{
int i,j;
struct student stu[N];
printf("please input the records:\n");
for(i=0;i<N;i++)     //不需要的循环,你把N赋为2,就输四次,重赋值了一次
input(stu);
print(stu);
getch();
}
2010-06-11 16:44
nbaqqqq
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:202
专家分:137
注 册:2009-11-6
收藏
得分:2 
额,你第一个程序就出现了这问题,刚开始没发现。。。
#define N 5
struct student
{
char num;
char name[10];
int score[3];
}stu[N];
input(stu[],ilnt n)
{int m;
for(m=0;m<N;m++)
printf("please input scores of student %d:\n",m+1);//你这循环刚开始是不是忘了加大括号,导致结果全是0。。。
printf("NO.:");
scanf("%d",&stu[m].num);
printf("name:");
scanf("%s",stu[m].name);
for(n=0;n<3;n++)
{printf("score %d:",n);
   scanf("%d",&stu[m].score[n]);
  }
}
main()
{
int i,j;
printf("please input the records:\n");
for(i=0;i<N;i++)
input(stu[],N);
for(i=0;i<N;i++)
{printf("%d,%s",stu[i].num,stu[i].name);
{for(j=0;j<3;j++)
printf(" %d ",stu[i].score[j]);}printf("\n");}
getch();
}
2010-06-11 17:15
快速回复:挺简单的一个小问题,我没有注意,请大家指点,谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026814 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved