一段C语言程序

来源:百度知道 编辑:UC知道 时间:2024/06/08 15:20:31
#include "stdio.h"
#include "conio.h"
#include "string.h"

typedef struct Student
{
unsigned long studentNumber;
char studentName[20];
float mark[10];
float sum;
float ave;
}Student;

InputInformation(Student *p,int st,int sub )
{
int i,j,k;
float a;

printf("Input The Imformation Like This:\n\n");

printf("Student Number;\n");
printf("Student Name;\n");
for(j=1;j<=sub;j++)
printf("subject%d;\n",j);

printf("\n\n");
for(i=1;i<=st;i++)
{
scanf("%d",&p[i].studentNumber);
while(getchar()!='\n');
scanf("%s",p[i].studentName);

for (k=1;k<=sub;k++)
{
scanf("%f",&a);
p[i].mark[k]=a;
}
if(i<st)
printf(

printf("%5.1f","%5.1f",p[i].sum,p[i].ave);这种格式是不允许的,你无法在一个printf里用两个字符串,把中间的两个引号和逗号去掉。还有就是你没有初始化sum的值,这个可能会出问题。在 scanf("%s",p[i].studentName);加上p[i].sum=0;。