十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你好!
我们一直强调网站制作、成都网站设计对于企业的重要性,如果您也觉得重要,那么就需要我们慎重对待,选择一个安全靠谱的网站建设公司,企业网站我们建议是要么不做,要么就做好,让网站能真正成为企业发展过程中的有力推手。专业网站建设公司不一定是大公司,成都创新互联作为专业的网络公司选择我们就是放心。
完整的代码:
#includestdio.h
int main(void)
{
double x=0,z=0;
int y=0;
int y1=0;
printf("请输入 10 个数,空格分开:");
for(y=0;y10;y++)
{
scanf("%lf",x);
if(z=0)
{
z = z + x;
y1++;
}
getchar();
}
printf("平均数是: %.2lf \n",z/y1);
return 0;
}
1、#includestdio.hint main()
2、{ int a,b,c; scanf("%d%d%d",a,b,c);
3、 int sum = a+b+c;
4、 printf("和: %d",sum);
5、printf("平均值:%f",sum/3.0);
6、return 0
讲解:
1、先定义四个整形。
2、一个浮点型保存平均值。
3、然后在控制台等待输入。
4、将输入的三个整数加起来赋值给sum。
5、将三个整形除以3.0(为什么是3.0,是因为ave是浮点型的,隐性转换到float)。
6、然后输出。
C语言中,并没有专门的求平均数函数。一般都是根据需要自行编写。
一、算法设计:
平均数需要先计算一组数的总和,然后除以总个数。
所以需要按照如下步骤进行:
1、确认元素个数及各个元素值;
2、遍历,累加各个元素;
3、除以个数,得到平均数;
4、输出结果。
二、参考代码:
以整型为例:
#include stdio.h
float ave(int *a, int n)
{
float s=0;
int i;
for(i=0;in;i++)//遍历。
s+=a[i];//累加。
s/=n;//计算平均数。
return s;//返回结果。
}
int main()
{
int a[5] = {2,6,8,9,3};//待计算数组。
printf("%f\n", ave(a,5));//调用函数,计算平均数并输出。
return 0;
}
注意:由于平均数涉及除法,所以一般平均数值并不是整数,所以需要用浮点数来存储平均数。
#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);
}
看了你这程序,运用了指针和链表,应该学得很后了,应该很容易就会这个求平均值的函数的,这是我指出的问题:
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);
}
题目:计算键盘输入的整数的平均值。遇到输入数为负数时,结束程序,输出结果。
实现过程:
定义一个整形变量n,用来存储每次输入的整数
定义一个整形变量cnt,用来记录输入的整数的个数
定义浮点型变量sum保存整数的和,初始化为0.0
使用for循环,cnt为循环控制变量,输入一个整数n,若n0结束循环,否则将输入的数据n累加到sum中
如果cnt大于0,则输出平均值sum/cnt ;
参考代码: