用函數求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); //不明白平均分方差是什麼意思,每課的平均分平方的差
//還是每個人的平均分的平方的差;