C语言,有两个班的同学,分别是10个人和5个人,分别求这两个班的平均分,用函数封装。

#include <stdio.h>

	void intArry(int arry[],int len)//函数1,学生成绩
	{
		int i;
		for(i=0;i<len;i++){
			
			printf("请输入第%d个学生的成绩\n",i+1);
			scanf("%d",&arry[i]);
		}
		puts("done\n");
	}
	
	void printArry(int arry[],int len)	//函数2,总人数
	{
		
		int i;
		printf("总人数%d人\n",len);
		for(i=0;i<len;i++){
			
			printf("%d\n",arry[i]);
		}
		
		puts("/n done\n");
	}
	
	
	float getAverage(int arry[],int len)//函数3,平均分
	{
		int i;
		float aver=0.0;
		int  sum=0;//总分这个变量一定要手动初始化为零,默认值可能是一个大数会影响结果。
		for(i=0;i<len;i++){
			sum+= arry[i];
		}
		aver=(float)sum/len;
		
		return aver;
		
	}
	
	
	
int main()
{
	
	//用函数封装的方式求两个班级的平均分
	
	int classOne[5];//1班
	
	
	int classTwo[10];//2班
	
	
	float averOfClassOne;//1班平均分变量
	

	float averOfClassTwo;//2班平均分变量
	
	
	int lenOfClassOne=sizeof(classOne)/sizeof(classOne[0]);//1班班级人数
	
	
	int lenOfClassTwo=sizeof(classTwo)/sizeof(classTwo[0]);//2班班级人数
	
    //调用班级学生成绩函数
	 
		intArry(classOne,lenOfClassOne);//API application Interface .   //1班成绩
		
	  
		intArry(classTwo,lenOfClassTwo);  //2班成绩
	
	 //调用班级学生总人数函数
	  
		printArry(classOne,lenOfClassOne); // 1班人数
		
	   
		printArry(classTwo,lenOfClassTwo); //2班人数
	
	
	 //调用班级平均分
	 
	averOfClassOne=getAverage(classOne,lenOfClassOne);//1班平均分
		
	  
	averOfClassTwo=getAverage(classTwo,lenOfClassTwo);//2班平均分
	
	
	printf("一班的平均分是:%f\n",averOfClassOne);//打印一班平均分
	

	printf("二班的平均分是:%f\n",averOfClassTwo);//打印二班平均分

	
	//本次错误,结束语句后面少了个引号。
	//总人数后面取地址了。
	
	
	
	return 0;
}






#include <stdio.h>

void chengji(int arry[],int len)
{
	int i;
	for(i=0;i<len;i++){
		
		printf("请输入第%d个学生的成绩\n",i+1);
		scanf("%d",&arry[i]);
		
	}
	puts("done\n");
}

void renshu(int arry[],int len)
{
	int i;
	printf("总人数是%d人\n",len);
	for(i=0;i<len;i++){
		printf("%d	",arry[i]);
	}
	puts("\n done\n");
}


float pinjunfen(int arry[],int len)
{   int i;
    int sum=0;//总分这个变量一定要手动初始化为零,默认值可能是一个大数会影响结果。
	float pingjun=0.0;
	for(i=0;i<len;i++){
		sum+= arry[i];
		
	}
	pingjun=(float)sum/len;
	return pingjun;
	
}


int main()
{
	
int arryOne[5];

int arryTwo[6];

float pinjunfenOne;
float pinjunfenTwo;

int renshuOne=sizeof(arryOne)/sizeof(arryOne[0]);

int renshuTwo=sizeof(arryTwo)/sizeof(arryTwo[0]);

chengji(arryOne,renshuOne);//API application Interface .
chengji(arryTwo,renshuTwo);

renshu(arryOne,renshuOne);
renshu(arryTwo,renshuTwo);

pinjunfenOne=pinjunfen(arryOne,renshuOne);
pinjunfenTwo=pinjunfen(arryTwo,renshuTwo);


printf("一班的平均分是:%f	\n",pinjunfenOne);

printf("二班的平均分是:%f	",pinjunfenTwo);
	
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值