好文档 - 专业文书写作范文服务资料分享网站

单元8 结构体源代码

天下 分享 时间: 加入收藏 我要投稿 点赞

单元8 结构体源代码

【例8-1】输入输出学生信息

学生信息包括:学号、姓名、性别、年龄、成绩,定义为如下是结构体: #define XH 11 #define XM 21 struct student { };

编写函数void Input(struct student *stu)实现学生信息的输入,函数void Print(struct student *st)实现学生信息的输出。

#include \#include \#define N 3 #define XH 11 #define XM 21 struct student { };

void Input(struct student *stu) {

char num[XH]; char name[XM]; char sex; int age; double score;

char num[XH]; char name[XM]; char sex; int age; double score;

int i; char str[XM]; for(i=0;i

printf(\请输入第%d个学生信息(学号、姓名、性别、年龄、

成绩):\\n\ }

void Print(struct student *st) { } int main() {

struct student stud[N]; Input(stud); Print(stud); int i;

printf(\学号\\t姓名\\t性别\\t年龄\\t成绩\\n\for(i=0;i

printf(\ }

gets(stu[i].num); gets(stu[i].name);

stu[i].sex=getchar();getchar(); gets(str);

stu[i].age=atoi(str); gets(str);

stu[i].score=atof(str);

st->sex, st->age, st->score);

return 0; }

【例8-2】复数加法运算。

编写程序实现两个复数的加法运算。 #include \typedef struct comp { double x;//实部 double y;//虚部 }CP;

CP Add(CP *a,CP *b) {//复数加法运算 CP c; c.x=a->x+b->x; c.y=a->y+b->y;

return c; }

void Show(CP c) {//输出一个复数 if(c.y>0) printf(\ else if(c.y<0) printf(\ else printf(\}

int main() { CP a,b,c; printf(\输入复数1的实部和虚部:\ scanf(\ printf(\输入复数2的实部和虚部:\ scanf(\ c=Add(&a,&b); Show(a);putchar('+');Show(b);putchar('=');Show(c);putchar('\\n'); return 0; }

【例8-3】输入和统计候选人得票程序。

某单位要评选一名先进工作者,假设有N个候选人,XP个人投票。每个人的信息包括:姓名、性别、年龄和得票数;每张选票写且只写一个人的姓名,通过输入选票上的姓名,统计每位候选人的得票数,最后输出每位候选人的信息和得票结果。

#include \#include \#include \#define N 3 #define M 10

//候选人数 //姓名长度

#define XP 5 //投票人数 typedef struct person {

char name[M]; //姓名 char sex; int age; int count;

//性别 //年龄 //得票数

}PERSON;

void Init(PERSON *lead) {//得票数初始化 }

void Input(PERSON *lead) {//输入候选人信息 }

void Output(PERSON *lead) {//输出候选人信息和得票数 }

void Candidate(PERSON lead[]) {//统计候选人得票

int i,j; char lname[M]; for(i=1;i<=XP;i++) int i; system(\

printf(\候选人信息及得票结果\\n\printf(\姓名\\t性别\\t年龄\\t得票\\n\for(i=0;i

printf(\int i; char str[3];

for(i=0;i

printf(\请输入第%d个候选人姓名:\gets(lead->name);

printf(\请输入第%d个候选人性别:\lead->sex=getchar(); getchar();

printf(\请输入第%d个候选人年龄:\gets(str); lead->age=atoi(str); int i;

for(i=0;i

lead->count=0;

lead->count);

}

{ }

printf(\请输入第%d张选票姓名:\gets(lname); for(j=0;j

if(strcmp(lname,lead[j].name)==0)

lead[j].count++;

int main() {

PERSON leader[N]; Init(leader); Input(leader); Candidate(leader); Output(leader);

return 0; }

【例8-4】扑克牌模拟程序。

模拟一副扑克牌洗牌、发牌和理牌。要求:将一副牌分发给北家、东家、南家和西家;对每家牌先按花色顺序(黑桃、红桃、方块、梅花)、再面值顺序(A、K、Q、J、10、9、8、7、6、5、4、3、2)进行整理;显示整理好的每家牌。

#include \#include \#include \typedef struct card { int suit; //花色 int face; //面值 }Card;

void InitPoker(Card *Poker) {//初始化一副牌 int i; for(i=0;i<52;i++) { Poker[i].suit=i/13; Poker[i].face=i; } }

void Shuffle(Card *Poker)

单元8 结构体源代码

单元8结构体源代码【例8-1】输入输出学生信息学生信息包括:学号、姓名、性别、年龄、成绩,定义为如下是结构体:#defineXH11#defineXM21structstudent{};编写函数voidInput(structstudent*stu)实现学生信息的输入,函数voidPri
推荐度:
点击下载文档文档为doc格式
8wzdb4gz2h423gj8gje700kc5204u900kji
领取福利

微信扫码领取福利

微信扫码分享