//程序有问题
/*编写一个函数print,输出若干位学生的数据记录,有5位学生,每一位学生的数据记录包括学号(num),姓名(name),三门课的成绩(g[3]),
要求用主函数输入这些记录,用print函数输出这些记录。请编程实现。*/
#include<stdio.h>
void print(int num,char name,float *t)
{
int i;
printf("%d\t%s\t",num,name);
for(i=0;i<3;i++)
printf("%f\t",*(t+i));
}
int main()
{
int i,j;
float b[3],*p;
p=b;
struct abc
{
int num;
char name;
float g[3];
}a;
for(i=0;i<5;i++)
{
printf("学号:\t姓名:\t语文:\t数学:\t英语:\n");
scanf("%d%s",&a.num,&a.name);
for(j=0;j<3;j++)
{
scanf("%f",&a.g[j]);
b[j]=a.g[j];
}
print(a.num,a.name,p);
}
return 0;
}

c语言 结构体 程序,有问题,运行没有结果。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 浪客 2022-04-27 10:00关注
#include<stdio.h> void print(int num,char *name,float *t)//字符串要传地址 { int i; printf("%d\t%s\t",num,name); for(i=0;i<3;i++) printf("%f\t",*(t+i)); printf("\n"); } int main() { int i,j; float b[3],*p; p=b; struct abc { int num; char name[10];//字符串用数组 float g[3]; }a; for(i=0;i<5;i++) { printf("学号:\t姓名:\t语文:\t数学:\t英语:\n"); scanf("%d%s",&a.num,a.name);//字符串不需要加& for(j=0;j<3;j++) { scanf("%f",&a.g[j]); b[j]=a.g[j]; } print(a.num,a.name,p); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报