C语言 数组长度...int length = sizeof(stu) / sizeof(stu[0]);

150 篇文章 0 订阅


#include <stdio.h>

int main(int argc, const char * argv[])
{

	struct Student {
		int num;
		char * name;
		char sex;
		float score;
	};

	struct Student stu[5] = {
		{ 101, "Li ping", 'F', 45 },
		{ 102, "Zhang ping", 'M', 62.5 },
		{ 103, "He ping", 'F', 92.5 },
		{ 104, "Cheng ping", 'M', 87 },
		{ 105, "Wang ping", 'M', 58 }
	};

	int count = 0;
	float sumScore = 0;
	int length = sizeof(stu) / sizeof(stu[0]);
	printf("%d\n", length);
	for (int i = 0; i < length; i++) {
		if (stu[i].score < 60.0) {
			count++;
		}
		sumScore += stu[i].score;
	}
	printf("不及格人数 = %d , 平均分数是 %.2f\n", count,sumScore/length);

	return 0;
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
#include<stdio.h> #include<string.h> #include<math.h> #include<conio.h> #include<stdlib.h> struct chengji /* 成绩结构体*/ { int point; char subject[20]; }; struct student /* 学生结构体*/ { int w; char name[20]; int number; struct chengji cheng[30]; float sum; float average; }stu[40]; void pjun(); /*按平均分排序*/ void pfen(); /*按总分排序*/ void addnew(); /*录入学生成绩*/ void pall(); /*显示所有成绩*/ void check(); /*查询菜单*/ void pnum(); /*按学号排序*/ void pjing(); /*精确查找*/ /*************************************************************************** ****************************/ /*主菜单*/ main() { char choose; while(1) { printf("\n\t\t**************************************"); printf("\n\t\t* 欢迎使用成绩管理系统 *"); printf("\n\t\t* *"); printf("\n\t\t* 请选择 *"); printf("\n\t\t* 1. 录入学生成绩 *"); printf("\n\t\t* 2. 查询学生成绩 *"); printf("\n\t\t* 3. 清屏 *"); printf("\n\t\t* 0. 退出程序 *"); printf("\n\t\t* *"); printf("\n\t\t**************************************"); printf("\n\n"); printf("请选择:"); scanf("%c",&choose);getchar(); switch(choose) { case '1': addnew(); break; case '2': check(); break; case '3': system("cls"); break; case '0': exit(0); break; default: printf("输入错误,请从新输入!\n\n"); } } } /*************************************************************************** *************************/ /*录入学生成绩*/ void addnew() { int n,m,i,p; float sum; float average; FILE *file; sum=0.00000; average=0.00000; if((file=fopen("c:\\student.dat","rb"))==NULL) { file = fopen("c:\\student.dat", "wb+"); /* 创建一个文件*/ } printf("请输入需要录入的学生人数: "); scanf("%d",&n); for(i=0;i<n;i++) { printf("输入第%d个同学信息:\n",i+1); printf("姓名:"); scanf("%s",&stu[i].name); printf("学号:"); scanf("%d",&stu[i].number); printf("输入科目个数: "); scanf("%d",&m); stu[i].w=m; printf("按科目(回车)成绩(回车)……的顺序输入: \n"); /* 录入成绩*/ for(p=0;p<m;p++) { scanf("%s",&stu[i].cheng[p].subject); scanf("%d",&stu[i].cheng[p].point); stu[i].sum=stu[i].sum+stu[i].cheng[p].point; stu[i].average=stu[i].sum/m; } /* printf("总分%f , 平均分%f\n ",stu[i].sum,stu[i].average);*/ fwrite(&stu[i],sizeof(stu),1,file); /*

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值