作业:
1、有10位评委打分,为了公平起见,要求删除最高成绩和最低成绩,算出平均成绩。
提示:输入10个评委的打分情况,利用算法算出最高和最低成绩,将总成绩减去最高最低成绩后,求出平均成绩,使用C语言完成。
#include <stdio.h>
int main(int argc, const char *argv[])
{
printf("请输入10个评委的打分:");
int arr[10],i;
for(i=0;i<10;i++)
{
scanf("%d",&arr[i]);//输入成绩
}
int max,min,sum=0;
for(i=0;i<10;i++)
{
if(i==0)
max=min=arr[i];
if(arr[i]>max)
max=arr[i];//最高成绩
if(arr[i]<min)
min=arr[i];//最低成绩
sum+=arr[i];//总成绩
}
float agv=(sum-max-min)*1.0/8;//平均成绩
printf("平均成绩为:%.2f\n",agv);
return 0;
}
2、班级有9位同学,期末考试结束后,需要统计出对班级平均分做出贡献的学生所占百分比。
提示:输入9个学生成绩,算出平均成绩,利用平均成绩统计出高于平均成绩的学生个数,利用个数算出百分比。
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[9],i;
printf("请输入9位学生的成绩:\n");
for(i=0;i<9;i++)
{
scanf("%d",&arr[i]);
}
int sum=0;//定义总分
float agv;//定义平均分
for(i=0;i<9;i++)
{
sum+=arr[i];//总分
}
agv=sum*1.0/9;//平均分
int count=0;//计数
for(i=0;i<9;i++)
{
if(arr[i]>agv)
count++;
}
printf("高于平均成绩的学生个数百分比:%.2f%%\n",count*1.0/9*100);
return 0;
}
3、已知数组元素{6,4,9,0,8,12,3},提示用户输入一个关键字,如果存在该关键字,输出该关键字的位置,不存在该关键字,给出一定的提示。
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[]={6,4,9,0,8,12,3};
int num,i,len;
printf("请输入关键字:");
scanf("%d",&num);
len=sizeof(arr)/sizeof(int);
int po=-1;//位置
for(i=0;i<len;i++)
{
if(arr[i]==num)
{
po=i;
break;
}
}
if(po==-1)
printf("没找到您输入的关键字%d\n",num);
else
printf("关键字%d的位置是:%d\n",num,i+1);
return 0;
}
4、已知数组元素{6,4,9,0,8,12,3},将该数组中低于平均值的元素放入新数组并输出。
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[]={6,4,9,0,8,12,3};
int sum=0,i;
float agv;//平均值
int len=sizeof(arr)/sizeof(int);
for(i=0;i<len;i++)
{
sum+=arr[i];//总和
}
agv=sum*1.0/len;//平均值
int arr2[len];//定义新数组
int j=0;//用于给新数组存数据的位置
for(i=0;i<len;i++)
{
if(arr[i]<agv)
{
arr2[j]=arr[i];
j++;
}
}
for(i=0;i<j;i++)
printf("%d\t",arr2[i]);
return 0;
}