用结构体输入两个学生的学号、姓名和成绩,输出 成绩较高的学生的学号、姓名和成绩。

#include<stdio.h>structStudent{intnum;charname[20];floatscore;};voidmain(){structStud... #include <stdio.h>
struct Student
{
int num;
char name[20];
float score;
};
void main()
{
struct Student student1,student2;
scanf("%d,%s,%f",&student1.num,&student1.name,&student1.score);
scanf("%d,%s,%f",&student2.num,&student2.name,&student2.score);
if(student1.score>student2.score)
printf("%s(%d):%6.2f\n",student1.name,student1.num,student1.score);
else
printf("%s(%d):%6.2f\n",student2.name,student2.num,student2.score);
}

哪里不对?
展开
 我来答
yesyes科
2020-05-12 · TA获得超过2.6万个赞
知道答主
回答量:608
采纳率:0%
帮助的人:9万
展开全部

1、首先在编程软件中,引入头部的方法代码。

2、实现动态数组在结构体中间的方法代码,如下图所示。

3、运行测试的结果,如下图所示。

4、接着输入实现动态数组在结构体末尾的方法代码,如下图所示。

5、最后运行测试结果,如下图所示,就完成了结构体中使用动态数组输出数据。

娱乐小八卦啊a
高粉答主

2020-05-12 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117826

向TA提问 私信TA
展开全部

代码如下:

#include<stdio.h>

#include<stdlib.h>

int  main()

{struct  Student//声明结构体类型 

  {  int   num;

     char  name[20];

     float score; 

  }

  student1,student2;//定义两个结构体变量 

  scanf("%d%s%f",&student1.num,student1.name,&student1.score);//输入两个学生的数据 

  scanf("%d%s%f",&student2.num,student2.name,&student2.score);

  printf("The  higher  score is:\n");

  if(student1.score>student2.score)

  printf("%d %s %6.2f\n",student1.num,student1.name,student1.score);

  else  if(student1.score<student2.score) 

  printf("%d %s %6.2f\n",student2.num,student2.name,student2.score);

  else

  {printf("%d %s %6.2f\n",student1.num,student1.name,student1.score);

   printf("%d %s %6.2f\n",student2.num,student2.name,student2.score);

  }

  return 0;

}

扩展资料

结构体作用

结构体和其他类型基础数据类型一样,例如int类型、char类型,只不过结构体可以做成你想要的数据类型。以方便日后的使用。

在实际项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。由于C语言内部程序比较简单,研发人员通常使用结构体创造新的“属性”,其目的是简化运算。

结构体在函数中的作用不是简便,其最主要的作用就是封装。封装的好处就是可以再次利用。让使用者不必关心这个是什么,只要根据定义使用就可以了。

访问结构成员

为了访问结构的成员,我们使用成员访问运算符(.)。成员访问运算符是结构变量名称和我们要访问的结构成员之间的一个句号。您可以使用 struct 关键字来定义结构类型的变量。

结构作为函数参数

您可以把结构作为函数参数,传参方式与其他类型的变量或指针类似。

指向结构的指针

您可以定义指向结构的指针,方式与定义指向其他类型变量的指针相似,如下所示:

struct Books *struct_pointer;

现在,您可以在上述定义的指针变量中存储结构变量的地址。为了查找结构变量的地址,请把 & 运算符放在结构名称的前面,如下所示:

struct_pointer = &Book1;

为了使用指向该结构的指针访问结构的成员,您必须使用 -> 运算符,如下所示:

struct_pointer->title;

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序员殷保华
推荐于2017-12-16 · 专注于互联网、编程技术讨论交流。
程序员殷保华
采纳数:246 获赞数:7107

向TA提问 私信TA
展开全部

scanf("%d,%s,%f",&student1.num,&student1.name,&student1.score);

scanf("%d,%s,%f",&student2.num,&student2.name,&student2.score);

上面这2句不对,可以编译成功,但是保存的值是错误的,

因为它会把“逗号”当作字符送给了%s,所以最后面的%d没有输入数据。

可以换成空格。

scanf() 开始读取输入以后,会在遇到的第一个空白字符空格(blank)、制表符(tab)或者换行符(newline)处停止读取。

#include <stdio.h>

struct Student

{

int num;

char name[20];

float score;

};

void main()

{

struct Student student1,student2;

scanf("%d %s %f",&student1.num,&student1.name,&student1.score);

scanf("%d %s %f",&student2.num,&student2.name,&student2.score);

if(student1.score>student2.score)

printf("%s(%d):%6.2f\n",student1.name,student1.num,student1.score);

else

printf("%s(%d):%6.2f\n",student2.name,student2.num,student2.score);

}

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式