C语言 将这个代码用指针实现,对学生信息的输入和显示 求大神改进

C语言 将这个代码用指针实现,对学生信息的输入和显示 求大神改进,第1张

#include<stdio.h>

#define LEN 2 //4  //改为2用于测试

#define namelen 12

typedef int Elemtype

void output()//函数,输出结果

void input()//函数,输入数据

struct scores{

Elemtype clanguage

Elemtype english

Elemtype math

}

typedef struct stu

{

char name[namelen]

char sex[4]

char num[4]

int age

struct scores score

}student

student stu[LEN]

//原代码struct stu *p//这种方式可以用

student *p

int i,j

void input()

{

for(i=0i<LENi++)

{

printf("输入%d/%d个学生的信息:\n",i+1,LEN)

printf("姓名:\t")

scanf("%s",p->name)//原代码scanf("%s",&p->name)

//这个语句多余了stu[i].name[namelen-1]=0

printf("性别:\t")

scanf("%s",p->sex)//原代码scanf("%s",&p->sex)

printf("学号:\t")

scanf("%s",p->num)//原代码scanf("%s",&p->num)

printf("年龄:\t")

scanf("%d",&p->age)

printf("c语言成绩:\t")

scanf("%d",&p->score.clanguage)

printf("英语成绩:\t")

scanf("%d",&p->score.english)

printf("高数成绩:\t")

scanf("%d",&p->score.math)

p++//指针 要指向下一个

}

}

void output()

{

printf("\n %d的学生信息:\n==============\n",LEN)

printf("姓名 性别 学号 年龄 c语言成绩 英语成绩 高数成绩 \n")

printf("-------------------------------------------------------------------------------\n")

for(i=0i<LENi++)

{

printf("%-7s %-7s %-7s %-7d",p->name,p->sex,p->num,p->age)

printf("%-8d %-10d %-10d \n",p->score.clanguage,p->score.english,p->score.math)

p++//指针 要指向下一个

}

}

int main()

{

//原代码p=&stu[LEN]

p=(student*)&stu

input()//函数input()修改了p指针

p=(student*)&stu

output()

return 0

}

这样吧..

#include "stdio.h"

int main()

{

struct

{

char name[10]//姓名

char sex[2]//性别

int age//年龄

}student[10]

//printf("%d",sizeof(wchar_t))

int i

for(i=0i<10i++)

{

printf("请输入第%d个学生的信息:名字,学号,性别和年龄:\n",i+1)

scanf("%s%d%s%d",student[i].name,&student[i].num,student[i].sex,&student[i].age)

}

printf("十个学生的信息如下:\n")

for(i=0i<10i++)

{

printf("姓名:%s\t学号:%d\t性别:%s\t年龄:%d\n",student[i].name,student[i].num,student[i].sex,student[i].age)

}

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11608906.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存