A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 TTsu 于 2015-9-6 23:35 编辑

/*
遍历班级所有同学的序号.姓名.身高信息
*/
#include <stdio.h>
int main(){
    struct Student {
        int no;
        char name[20];
        float height;
        
    };
    int num;
    printf("请问要输入的人数是:?\n");
    scanf("%d",&num);
    struct Student stu[num];//此处的结论是结构体数组的[]里数值也想数组一样可以用户自定义
    struct Student *p;
    p = stu;
    for (int i = 0; i<num; i++) {
        printf("请输入学生序号\n");
        scanf("%d",&stu.no);
        printf("请输入学生姓名\n");
        scanf("%s",&stu.name);
        printf("请输入学生身高\n");
        scanf("%f",&stu.height);
    }
    printf("姓名----年龄----身高\n");
    for (int j = 0; j<num;j++, p++) {
        
        printf("%d\t%s\t%.2f\t\n",p->no,p->name,p->height);
    }
    return 0;
}
总结:
struct Student stu[num];//此处的结论是结构体数组的[]里数值也想数组一样可以用户自定义
p->no=stu[0].no; p++以后 p->no应该是向stu[1].no取值了,所以这样就以为这同样可以通过for循环遍历结构体数组的各项数值.
打印出的 for (int j = 0; j<num;j++, p++)这段for循环写的非常不满意,但是达到目的,不知道怎么修改

评分

参与人数 1黑马币 +6 收起 理由
itheima-zx + 6

查看全部评分

2 个回复

正序浏览
牛叉
回复 使用道具 举报
赞赞赞~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马