初学者,急!!!利用下标法和指针法引用数组元素

求某班一门功课的平均成绩,并统计超过平均成绩的人数。分别用下标法和指针法引用数组元素。 

 

下标法:

#include <iostream>
using namespace std;

int main()
{
    int i,a[50],n,sum=0,t=0;
    float ave;
    cin>>n;
    for(i=0;i<n;i++){
        cin>>a[i];
        sum+=a[i];
    }
    ave=sum*1.0/n;
    for(i=0;i<n;i++){
        if(a[i]>ave)
            t++;
    }
    cout<<t;
    return 0;
}

指针法:

#include <iostream>
using namespace std;

int main()
{
    int i,a[50],n,sum=0,t=0;
    float ave;
    int *p=a;
    cin>>n;
    for(i=0;i<n;i++){
        cin>>*(p+i);
        sum+=*(p+i);
    }
    ave=sum*1.0/n;
    for(i=0;i<n;i++){
        if(*(p+i)>ave)
            t++;
    }
    cout<<t;
    return 0;
}

这个用循环,分别比较元素即可

#include<stdio.h>
#define N 30
void main()
{ float score[N],*p;
float v,s=0;
int k,num=0;
for(p=score,k=0;k<N;k++)
{ scanf("%f",p);
s+=*p;
p++;
}
v=s/N;
for(p=score,k=0;k<N;k++)
if(*(p+k)>v) num++;
printf("average=%.1f,num=%d\n",v,num);
}
其中N是学生成绩的个数。

 

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
	
	int a[10];
	int cnt=0;
	int num;
	int i;
	float sum = 0;
	int count = 0;
	printf("请输入整形数\n");
	while(cnt<10){
		scanf("%d",&num);
		if(num == -1)
			break;
		a[cnt++] = num;
		sum = sum+num;
	}
	printf("总分是:%d\n",cum);
	sum = sum /cnt;
	printf("平均数是:%0.2f\n",sum);
    
    printf("总分是:%d\n",cum);
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m