扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、新建一个 求数组内所有元素的平均值项目。
创新互联建站主要从事成都网站设计、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务新丰,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
2、添加一个 average.cpp 文件。
3、包含需要用到的各种头文件。
4、输入main函数。
5、定义一个double类型的数组arr[5]。
6、使用 for 循环求出arr数组的平均值。
7、运行程序,输出结果即可。
#include stdio.h
double average(int k[10] ); //有改动
void main()
{
int a[10],i;
double average1;
for(i=0;i10;i++)
scanf("%d",a[i]);
average1=average(a);
printf("%lf",average1);
}
double average(int k[10] ) //有改动
{
double sum=0;
int j;
for(j=0;j10;j++)
sum=sum+k[j];
return(sum/10);
}
c语言的中没有现成的求平均数函数,可以自己定义一个求平均数的函数
1
2
3
4
5
6
7
double Average(double s[],int n)
{
if(n==0)return 0;
double sum=0;
for(int i=0;in;i++)sum+=s[i];
return sum/n;
}
看了你这程序,运用了指针和链表,应该学得很后了,应该很容易就会这个求平均值的函数的,这是我指出的问题:
1、结构体的声明应该在主函数外,这是一个编程习惯,便于其他函数的引用
2、但结构体变量的定义就应该在main里面例如:struct node *first,*p,*last;这样不会干扰其他函数的同名变量
3、其实大型的软件main里面只有界面的几句话,你建立链表的过程应该独立为一个函数比较好,不过你这程序比较简单就不必要
下面是我修改的程序:
#include stdio.h
#include stdlib.h
struct node
{
int num;
char name[10];
int yuwen;
int shuxue;
int yinyu;
float pjf;//存储平均分
struct node *next;
};
float pjf(struct node *head);//声明求平均分函数
main()
{
struct node *first,*p,*last;
int count,i;
printf("输入学生数\n");
scanf("%d",count);
p=(struct node*)malloc(sizeof(struct node));
printf("依次输入学生号、名字、语文、数学、英语\n");
scanf("\n%d\n%s\n%d\n%d\n%d",p-num,p-name,p-yuwen,p-shuxue,p-yinyu);
p-next=NULL;
last=first=p;
for(i=1;icount;i++)
{
p=(struct node*)malloc(sizeof(struct node));
scanf("\n%d\n%s\n%d\n%d\n%d",p-num,p-name,p-yuwen,p-shuxue,p-yinyu);
p-next=NULL;
last-next=p;
last=p;
}
p=first;
printf("学生号\t名字\t语文\t数学\t英语\t平均分\n");
while(p!=NULL)
{
p-pjf=pjf(p);//调用求平均分的函数
printf("%d\t%s\t%d\t%d\t%d\t\%g\n",p-num,p-name,p-yuwen,p-shuxue,p-yinyu,p-pjf);
p=p-next;
}
}
float pjf(struct node *head)
{
float x=0;
struct node *p=head;
x=(p-shuxue+p-yinyu+p-yuwen)/3;
return(x);
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流