用函数求10个学生的平均成绩
㈠ C语言题目:要求用户输入10个学生的考试成绩,并编写一个求平均值的函数,求这10个学生的平均成绩。
#include"stdio.h"
int ave(int m[12])
{
int i,zongh=m[1];
for (i=2;i<11;i++)
zongh=zongh+m[i];
return (zongh/10);
}
main()
{ int i,chengji[12],pingjun;
printf("请输入10名学生的成绩\n");
for(i=1;i<11;i++)
{
printf("请输入第%d个学生的成绩:",i);
scanf("%d",&chengji[i]);
}
pingjun=ave(chengji);
printf("%d",pingjun);
}
㈡ 请用C语言自定义函数的形式编程实现求10名学生1门课程成绩的平均分。
#include <stdio.h>
float ave(float *a, int n)
{
float r=0;
int i;
for(i = 0; i < n; i ++)
r+=n;
return r/n;
}
int main()
{
float a[10];
int i;
for(i = 0; i < 10; i ++)
scanf("%f",a+i);
printf("%f ", ave(a,10));
return 0;
}
(2)用函数求10个学生的平均成绩扩展阅读
printf用法:
printf()函数的调用格式为:printf("&lt;格式化字符串&gt;",&lt;参量表&gt;)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
inta=1234;
printf("a=%d\n",a);
输出结果为a=1234。
return表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
㈢ 编写函数求10个学生的的总成绩及平均成绩
#include"stdio.h"
#include"stdlib.h"
float function(float *a)
{
float *b;
int sum=0,i;
float ave;
b=a;
for(i=0;i<10;i++)
sum+=b[i];
ave=(float)sum/10;
b[8]=sum;
b[9]=ave;
return *b;
}
int main()
{
float a[10],c[10];
int flag=0,i,j;
for(i=0;i<10;i++)
scanf("%f",&a[i]);
*c=function(a);
for(j=0;j<=7;j++)
if(c[j]>c[9])
flag++;
printf("学生总成绩为:\n");
printf("%d\n",c[8]);
printf("学生平均成绩为:\n");
printf("%f\n",c[9]);
printf("成绩高于平均分的人数为:\n");
printf("%d\n",flag);
return 0;
}
你看看吧。我自己本机测试了是好使的。。。我自己帮你编的
㈣ 用函数求10个学生的平均成绩
设平均成绩为y,则y=1/10(x1+x2.......x10)
你的采纳是我继续回答的动力,有什么疑问可以继续问,欢迎采纳。
㈤ 有一个一维数组,内放10个学生成绩,写一个函数,求出平均分
float average(float array[ ],int n)
{ int I;
float aver,sum=array[0];
for(I=1;Isum=sum+array[I];
aver=sum/n;
return(aver); }
main
{ float ave,score[10];
int I;
for(I=0;I<10;I++)
scanf("%f",&score[I]);
ave=average(score,10);
printf("%f ",ave); }
(5)用函数求10个学生的平均成绩扩展阅读:
在程序中可以使用下标变量,即说明这些变量的整回体为数组,数组中答的每个变量的数据类型是相同的。
当数组中每个元素都只带有一个下标时,称这样的数组为一维数组。
一维数组是由数字组成的以单纯的排序结构排列的结构单一的数组。一维数组是计算机程序中最基本的数组。二维及多维数组可以看作是一维数组的多次叠加产生的。
数组是计算机编程中的重要概念,运用数组可以方便地处理大规模的数据
㈥ 编写c语言程序用三个函数求10个同学的平均分及成绩排序
1、写一个主复函数,10个成制绩放在一个数组里。
2、然后写一个求平均值的函数,返回平均值,用循环语句求和在求平均值,小学生应该都会求平均值。
3、再写一个排序算法,先模仿一个冒泡排序算法,最简单的排序算法。
这样不就三个函数了吗?,这个题主要让你初步掌握,数组,循环语句的使用,函数的调用,函数参数的传递,函数值的返回等。学习C就自己多练,多想这样会进步,代码就不写了吧,对你不好。
㈦ C语言编程:输入10个学生5门课成绩,分别用函数求: 1)每个学生平均分; 2)每门课的平均分;
#include <stdio.h>
#include <math.h>
void aver_stu(int t[][5]); //定义学生平均分函数
void aver_course(int t[][5]); //定义课程平均分函数
void high(int t[][5]); //定义最高分函数
void vari(int t[][5]); //定义方差函数
int main()
{
int stu[10][5];
int i, j;
for (i=0; i<10; i++)
for (j=0; j<5; j++)
scanf("%d", &stu[i][j]); //输入10个学生各5门课的成绩
aver_stu(stu); //调用学生平均分函数
aver_course(stu); //调用课程平均分函数
high(stu); //调用最高分函数
vari(stu); //调用方差函数
return 0;
}
//学生平均分函数
void aver_stu(int t[][5])
{
int i, j;
float k, ave;
for (i=0; i<10; i++){
for (j=0, k=0.0; j<5; j++)
k+=t[i][j];
ave=k/5;
printf("No.%d student average is %f ", i+1, ave);
}
}
//课程平均分函数
void aver_course(int t[][5])
{
int i, j;
float k, ave;
for (j=0; j<5; j++){
for (i=0, k=0.0; i<10; i++)
k+=t[i][j];
ave=k/10;
printf("No.%d course average is %f ", j+1, ave);
}
}
//最高分函数
void high(int t[][5])
{
int i, j, h, stu, cour;
for (i=0, h=0, stu=0, cour=0; i<10; i++){
for (j=0, j<5; j++)
if (t[i][j]>h){
h=t[i][j];
stu=i+1;
cour=j+1;
}
}
printf("The highest score is %d, from No.%d student & No.%d course ", h, stu, cour);
}
//方差函数
void vari(int t[][5])
{
int i, j, k, m;
float temp[10], var, x1, x2;
for (i=0, m=0; i<10; i++, m++){
for (j=0, k=0; j<5; j++)
k+=t[i][j];
temp[m]=k/5;
}
for (i=m=x1=x2=0; i<10; i++){
x1+=pow(temp[i], 2);
x2+=temp[i];
}
var=x1/10-pow(x2/10, 2);
printf("The variance is %f ", var);
}
(7)用函数求10个学生的平均成绩扩展阅读:
scanf()用法:
输出的值只是空格前面的字符是因为scanf函数的输入格式错误,输入参数的变量前需要加&。
scanf("%s",s);改为scanf("%s",&s);
scanf的用法是:scanf("格式控制字符串",输入参数一,输入参数二);
格式控制字符串包含:格式控制说明,普通字符。
1、格式控制字符串表示输入的格式,(int型用%d,float用%f,double型用%lf)
2、普通字符:在输出数据的时候,按照原样输出的字符,如:"fahr=%d,celsius=%d "中的fahr=,celsius=。
3、输入的参数是变量的地址,所以要在变量前面加&。
㈧ 输入十个学生的成绩,分别用函数实现:求平均成绩;按分数从高到低进行排序并输出
#include<stdio.h>
void input(float *g,int n){
int i;
for(i=0; i<n; i++){
printf("第 %d 个成绩:",i+1);
scanf("%f",&g[i]);
}
}
void output(float *g,int n){
int i;
for(i=0; i<n; i++)
printf("%d %5.1f\n",i+1,g[i]);
}
void sort(float *g,int n){
int i,j,k;
float t;
for(i=0; i<n-1; i++){
t=g[i],k=i;
for(j=i+1; j<n; j++)
if(g[j]>t)
t=g[j],k=j;
g[k]=g[i];
g[i]=t;
}
}
float average(float *g,int n){
int i;
float s=0.0;
for(i=0; i<n; i++)
s+=g[i];
return s/n;
}
void main()
{
float g[10];
input(g,10);
printf("排序前:\n");
output(g,10);
float a=average(g,10);
printf("平均值:%6.2f\n",a);
sort(g,10);
printf("排序后:\n");
output(g,10);
}
㈨ c语言编程用指针,数组,函数实现求10个学生的平均成绩,并统计低于平均成绩的学
#include<stdio.h>
int main()
{
float v[10];
char s[10][20];
for(int i=0;i<10;i++){
printf("输入姓名来;自");
scanf("%s",s[i]);
printf("输入分数:");
scanf("%f",&v[i]);
}
float sum=0;
for(float *p=v;p<v+10;p++){
sum+=*p;
}
sum/=10;
printf("\n平均成绩=%f",sum);
printf("\n\n低于平均成绩的有:");
int num=0;
for(int i=0;i<10;i++){
if(v[i]<sum){
num++;
printf("\n姓名:%s 分数:%f",s[i],v[i]);
}
}
printf("\n以上%d名同学低于平均分数",num);
scanf("%d",&num);
return 0;
}
㈩ 用c语言:输入10个学生5门课的成绩,分别用函数求:(1)每个学生平均分;(2)每门课的平均数分;
#include<stdio.h>
void main()
{
int i,j,score[2][3]={{1,2,3}{2,3.4}},v[2],sum=0,average,max;
max=a[0][0];
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
if(a[i][j]>max)
{max=a[i][j];}
sum=sum+a[i][j];
}
v[i]=sum/i;//每个同学的平均分;
sum=0;//把总分值清零;
}
average=(v[0]+v[1]/3;//每课的平均成绩版;权
printf("max=%d %d %d\n",a[i][j],i,j);
printf("the 平均成绩是%d",v[i]);
printf("每课平均成绩是%d\n",average); //不明白平均分方差是什么意思,每课的平均分平方的差
//还是每个人的平均分的平方的差;