| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2493 人关注过本帖
标题:结构体编程
只看楼主 加入收藏
cyuyancxsj
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-5-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
结构体编程
用结构体编程实现:有10名学生,每个学生的信息包括学号、姓名、成绩,从键盘输入10个学生的信息,输出成绩最高者的信息。求大神
搜索更多相关主题的帖子: 结构体 键盘 信息 姓名 
2016-05-18 22:48
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:5 
先写个结构体
2016-05-18 23:01
cyuyancxsj
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-5-18
收藏
得分:0 
#include<stdio.h>
struct stu
{
  int num;
  char name[10];
  float score;
}
2016-05-18 23:04
cyuyancxsj
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-5-18
收藏
得分:0 
回复 2楼 吹水佬
#include<stdio.h>
struct stu
{
  int num;
  char name[10];
  float score;
}
2016-05-18 23:05
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:8 
程序代码:
#include <stdio.h>

struct stu
{
  int num;
  char name[10];
  float score;
};

main()
{
    int n=10;
    stu a[n];
    for (int i=0; i<n; i++)
    {
        printf("\n学生(%d)\n", i+1);
        printf("学号:"); scanf("%d", &a[i].num);
        printf("姓名:"); scanf("%s", &a[i].name);
        printf("成绩:"); scanf("%f", &a[i].score);
    }
    int k=0;
    float score=a[0].score;
    for (int i=1; i<n; i++)
    {
        if (score < a[i].score)
        {
            score = a[i].score;
            k = i;
        }
    }
    printf("\n成绩最高的学生\n");
    printf("学号        姓名        成绩\n");
    printf("%-12d%-12s%-12.2f\n", a[k].num, a[k].name, a[k].score);
}
2016-05-19 00:34
cyuyancxsj
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-5-18
收藏
得分:0 
回复 5楼 吹水佬
printf("%-12d%-12s%-12.2f\n", a[k].num, a[k].name, a[k].score);
是表示输出最高分学生的学号,名字,分数,是吗?
-12,-12.2又是什么意思呢?
2016-05-19 07:52
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:2 
回复 6楼 cyuyancxsj
-12 左对齐,长度12个字符
.2  保留2位小数
2016-05-19 08:35
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:3 
printf的格式控制的完整格式:
% - 0 m.n l或f格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。未指定n时,隐含的精度为n=6位。
⑤f:f用于float型的,a[k].score为float型。
-12.2就表示输出字符共占12位,-号表示左对齐,.2表示保留两位小数
2016-05-19 08:42
cyuyancxsj
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-5-18
收藏
得分:0 
回复 5楼 吹水佬
程序运行不了
left of '.score' must have struct/union type出现这个问题
2016-05-19 10:39
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用cyuyancxsj在2016-5-19 10:39:55的发言:

程序运行不了
left of '.score' must have struct/union type出现这个问题

你用的是什么编译器?
运行到哪一句异常?
2016-05-19 11:43
快速回复:结构体编程
数据加载中...
 
   



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

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