十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#includestdio.h
丰泽ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
int main()
{ int n,i,x,s=0;
scanf("%d",n); //求n个成绩的平均分
for(i=0; in; i++)
{ scanf("%d",x);
s+=x;
}
printf("%.2f\n",(float)s/n);
return 0;
}
#includestdio.h
void main(){
int i,j,score[10],count=0,temp,sum=0;
double avg;
for(i=0;i10;i++){ //输入10个学生的成绩,并求着10个学生的成绩总和
printf("请输入第%d个学生的成绩:",(i+1));
scanf("%d",score[i]);
sum+=score[i];
}
avg=sum*1.0/10; //求着这10个学生成绩的平均值
for(i=0;i10;i++){ //统计小于平均分的学生人数
if(score[i]avg){
count++;
}
}
for(i=0;i10;i++){ //使用冒泡排序对这10个学生的成绩逆序排序
for(j=0;j9-i;j++){
if(score[j]score[j+1]){
temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
}
printf("最高成绩:%d分,平均成绩:%.2f分,低于平均成绩的人数是:%d人!\n",score[0],avg,count);
}
#includestdio.h
int main()
{
int i;
float a[5],sum = 0;
printf("请输入某位学生的五门课成绩:\n");
for (i=0;i5;i++)
{
scanf("%f", a[i]);
sum += a[i];
}
printf("平均分:%f", sum / 5);
return 0;
}
本程序针对的是一个学生的五个科目成绩,也可以根据需要改为一门课的五位同学的成绩(代码基本不变,只需修改提示语);还可以扩展为多个学生的五门课成绩,只需建立一个二维数组即可,思路仍然是这样
#includestdio.h
int main()
{
float a[5][50],s,av;
int i,j,stu,sub,count;
while(scanf("%d %d",stu,sub))
{
for(i=0;istu;i++)
for(j=0;jsub;j++)
scanf("%f",a[i][j]);//输入信息
for(i=0;istu;i++)
{
for(j=0,s=0;jsub;j++)
s+=a[i][j];
av=s/sub;
if(j!=stu-1)
printf("%.2f ",s/sub);//这里应该是%f,下同
else
printf("%.2f",s/sub);
}
printf("\n");//这里要换行
for(i=0;isub;i++)
{
for(j=0,s=0;jstu;j++)
s+=a[j][i];
if(j!=sub-1)
printf("%.2f ",s/stu);
else
printf("%.2f ",s/stu);
}
printf("\n");//这里要换行
for(i=0;istu;i++)
{
for(j=0,count=0;jsub;j++)
if(a[i][j]=av)
count++;
printf("%d ",count);
}
printf("\n");//这里要换行
}
}
一个小错误,把%f写成了%d,下次看到正常运行,还出现0就有经验了。
还有你给出的代码换行应该是不正确的。被输入输出示例误导了。
根据你的要求,不限数量,输入n门成绩,求平均值。
#include stdio.h
#includemalloc.h
float ave(float *num,int size);//返回平均值
int main()
{
float *num=NULL,*numSave=NULL,se;
int size=1,count=0,i;
printf("输入任意个成绩(输入负数结束):");
while(1)
{
scanf("%f",se);
if(se0)
break;
if(num==NULL)
{
num=(float *)malloc(sizeof(float)*size);
num[count]=se;
}
else
{
size++;
numSave=(float *)malloc(sizeof(float)*size);
for(i=0;icount;i++)
numSave[i]=num[i];
numSave[i]=se;
free(num);
num=numSave;
}
count++;
}
printf("平均值为:%f\n",ave(num,count));
return 0;
}
float ave(float *num,int size)
{
float sum=0;
int i;
for(i=0;isize;i++)
{
sum=sum+num[i];
}
return sum/size;
}