C语言经典算法100例-071-练习使用结构体

//练习使用结构体
#include <stdio.h>
#include <stdlib.h>
#define N 5

//声明一个学生结构体
struct student
{
    char id[6];
    char name[8];
    int score;
} stu[N];

//输入学生成绩
void input(struct student stu[])
{
    int i;
    for (i = 0; i < N; ++i)
    {
        printf("Input %d th student's info.Id Name Score.\n",i+1);
        scanf("%s %s %d",stu[i].id,stu[i].name,&stu[i].score);  //字符数组的名称本身就是地址 不要加&符号
    }
}

//输出学生成绩
void output(struct student stu[])
{
    int i;
    printf("Student's info:\n");
    for (i = 0; i < N; ++i)
        printf("%s \t %s \t %d \n",stu[i].id,stu[i].name,stu[i].score);
}

int main()
{
    input(stu);
    output(stu);
    return 0;
}

我们这里创建一个含5 个学生的学生结构体,包括他的id,姓名和分数,对该结构体进行输入输出。

这里注意使用scanf时,对于字符数组,不要使用&取地址,因为字符数组名字就是地址。

代码如下:


posted @ 2014-05-07 12:01  庄浩  阅读(281)  评论(0编辑  收藏  举报