正文
以学生为主体的结构体c语言,以学生为主体什么意思
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
用c语言写:定义一个学生结构体(包含姓名,学号,语文,数学,外语,总分)。定义一个学生结构体数组。
stdio.h
struct student {
char name[20];
int idnum;
float score[3]; //分别存三科成绩
double total; // 总分
};
struct student * highscore(struct student *s, int n)
{
int i;
struct student * high = s;
for(i = 0; i n; i++) {
(s+i)-total = (s+i)-score[0] + (s+i)-score[1] + (s+i)-score[2];
if(high-total (s+i)-total)
high = s+i;
}
return high;
}
main()
{
struct student *s, student[5];
// 录入学生信息
for(s = student; s student+5; s++) {
printf("输入第%d个学生的信息:\n", s-student+1);
printf("姓名:");
scanf("%s", s-name);
printf("学号:");
scanf("%d", s-idnum);
printf("语文 数学 英语:\n");
scanf("%f %f %f", (s-score[0]), (s-score[1]), (s-score[2]));
}
// 输出学生信息
printf("\n学生信息\n姓名\t学号\t语文\t数学\t英语\n");
for(s = student; s student+5; s++)
printf("%s\t%d\t%.1f\t%.1f\t%.1f\n", s-name, s-idnum, s-score[0], s-score[1],s-score[2]);
// 计算学生总分病返回总分最高的学生信息
s = highscore(student, 5);
printf("\n总分最高的学生是:%s,学号:%d\n成绩:语文:%.1f数学:%.1f英语:%.1f总分:%.1f\n", s-name, s-idnum, s-score[0], s-score[1],s-score[2], s-total);
}
求C语言答案。定义一个学生结构体,包含学生姓名,学号,性别,年龄
需要存储什么信息,能不能把所要存储的信息清楚的说出来。这样在定义结构体的时候可以确定。
#include "stdio.h"
int main()
{
struct
{
char name[10];//名字
int num;//学号
char sex[2];//性别
int age;//年龄
}student[10];
//printf("%d",sizeof(wchar_t));
int i;
for(i=0;i10;i++)
{
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=0;i10;i++)
{
printf("姓名:%s\t学号:%d\t性别:%s\t年龄:%d\n",student[i].name,student[i].num,student[i].sex,student[i].age);
}
return 0;
}
求C语言答案.定义一个学生结构体就一个学生,包含学生姓名,学号,性别,年龄。输入年龄学号显示此学生的信息
typedef struct student //学生
{
char sno[max]; // 学号
char sname[max]; //姓名
char sex[max]; //性别
char age[max]; //年龄
struct student* next;
} student;
void regist()
{
char ch;
student *s,*ptr; //s用来建新结点,ptr用来暂存头结点
do
{
s=(student*)malloc(sizeof(student)); // 新建一个学生结点
printf("\n开始注册..."); //开始注册
printf("\n请输入该学生的学号:");
scanf("%s",s-sno);
printf("\n请输入该学生的姓名:");
scanf("%s",s-sname);
printf("\n请输入该学生的性别:");
scanf("%s",s-sex);
printf("\n请输入该学生的年龄:");
scanf("%s",s-age);
ptr=head;
head=s;//将新结点插入队头
s-next=ptr;
return;
}
void print() //输出全部学生信息
{
student *ptr=head;
printf("\n学号 姓名 年龄 性别 ");
while(ptr)
{
LinePrint(ptr);
ptr=ptr-next;
}
printf("\n");
return;
}
c语言定义一个学生结构
#include stdio.h
#include string.h
typedef struct Student {
int ID;
char Name[32];
char Sex; //M,代表男, F, 代表女
float MathScore;
float ChineseScore;
float EnglishScore;
};
float GetAverageScore(Student *ptr_stu)
{
int nAverageScore = (ptr_stu-MathScore + ptr_stu-ChineseScore + ptr_stu-EnglisgScore)/3;
return nAverageScoer;
}
float GetMaxScore(Student *ptr_stu)
{
float maxScore = ptr_stu-MathScore;
if(ptr_stu-ChineseScore maxSocre)
{
maxScore = ptr_stu-ChineseScore;
}
if(ptr_stu-EnglishScore maxScore)
{
maxScore = ptr_stu-EnglishScore;
}
return maxScore;
}
int main()
{
Student stu;
stu.ID = 12138;
strcpy(stu.Name, "张三");
stu.Sex = 'M';
stu.MathScore = 88;
stu.ChineseScore = 92;
stu.EnglishScore = 76;
float maxScore, averageScore;
maxScore = GetMaxScore(stu);
averageSocre = GetAverageScore(stu);
printf(" MaxScore is : %f\n AverageScore is : %f", maxScore, averageScore);
return 0;
}
c语言中怎么建立一个学生的结构体,包括名字学号性别?
struct student
{
char name[10];
char sex[10];
int old;
}s[100];
main()
{
int n,k=5;char name[10];
for(i=0;ik;i++)
{
printf("请输入姓名:");scanf("%s",s[i].name);
printf("请输入性别:");scanf("%s",s[i].sex);
printf("请输入年龄:");scanf("%s",s[i].old);
}
printf("请输入要查找的人名");scanf("%s",name);
for(i=0;ik;i++)
{if(strcmp(th[i].name,name)==0)
printf("%s,性别%s,年龄%d",s[i].name,s[i].sex,s[i].old);
}
}
这个是简单的,没有添加和删除
c语言程序:某班有10名同学,建立学生结构体类型,包括学号,姓名,3门课程的成绩,编写程序?
#include stdio.h
#include"string.h"
#include stdlib.h
#define N 100000
struct st{
char a[15];
char b[20];
int x,y,z;
};
int fun1(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
int fun2(char *x,char *y)
{
char *t;
strcpy(t,x);
strcpy(x,y);
strcpy(y,t);
}
int main() {
/*_________________________________________________*/
FILE *fp,*ok;
char b[N + 1];
//判断文件是否打开
if ( (fp = fopen("D:\\操作文件1号.txt", "r")) == NULL )/*这里D:\\操作文件1号.txt 是路径;读取D盘下,名为(操作文件1号)的文本文件*/
{
puts("操作文件1号读取失败!");
exit(0);
}
else
{
puts("操作文件1号读取成功");
puts("开始计算");
}
/*__________________________________________*/
struct st s[111];
char t[20],str[N];
int aver[111]={0};
for(int i=0;i5;i++)
{
fscanf(fp,"%s%s%d%d%d",s[i].a,s[i].b,s[i].x,s[i].y,s[i].z);
printf("%s %s %d %d %d\n",s[i].a,s[i].b,s[i].x,s[i].y,s[i].z);
}
printf("按平均成绩排序\n");
for(int i=0;i5;i++)
{
aver[i]=(s[i].x+s[i].y+s[i].z)*1.0/3;
}
printf("\n");
for(int i=0;i5;i++)
{
for(int j=0;j4-i;j++)
{
if(aver[j]aver[j+1])
{
fun2(s[j].a,s[j+1].a);
fun2(s[j].b,s[j+1].b);
fun1(aver[j],aver[j+1]);
fun1(s[j].x,s[j+1].x);
fun1(s[j].y,s[j+1].y);
fun1(s[j].z,s[j+1].z);
}
}
}
if ( (ok = fopen("D:\\操作文件2号.txt", "w")) == NULL )/*D:\\操作文件2号.txt 是路径;写入D盘下,名为(操作文件2号)的文本文件*/
{
puts("操作文件2号写入失败!");
exit(0);
}
else
{
puts("操作文件2号写入成功");
}
for(int i=0;i5;i++)
{
fprintf(ok,"第%d名;%s %s %d %d %d\n",i+1,s[i].a,s[i].b,s[i].x,s[i].y,s[i].z);
printf("第%d名;%s %s %d %d %d\n",i+1,s[i].a,s[i].b,s[i].x,s[i].y,s[i].z);
}
/*___________________________________________*/
//结束关闭文件
fclose(ok);
fclose(fp);
return 0;
}
我就写了5个人的,你在稍加修改就行了;
以学生为主体的结构体c语言的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于以学生为主体什么意思、以学生为主体的结构体c语言的信息别忘了在本站进行查找喔。