输入三个数字,求和、乘积和平均值

it2025-05-21  10

#include<stdio.h> int main() { float a,b,c,x,y,z; //x,y,z分别为和、乘积、平均值。 printf("please input three numbers:\n"); scanf("%f,%f,%f",&a,&b,&c); x = a+b+c; // 和 y = a*b+c; // 乘积 z = x/3; // 平均值 printf("a+b = %f\na*b = %f\n(a+b)/3 = %f\n",x,y,z); return 0 ; } //常规写法 以下为模块化写法: #include<stdio.h> float i,j,k; //本行为全局变量 int main() { float a,b,c,x,y,z; //x,y,z分别为和、乘积、平均值。 printf("please input three numbers:\n"); scanf("%f,%f,%f",&a,&b,&c); float sum(float i,float j,float k); //三个float作用为函数申明,可以在下面的模块写入具体功能。 float sub(float i,float j,float k); float aver(float i,float j,float k); x = sum(a,b,c); // x,y,z作用为 函数调用 y = sub(a,b,c); z = aver(a,b,c); printf("a+b = %f\na*b = %f\n(a+b)/3 = %f\n",x,y,z); // 思考,为什么直接输入函数名sub(a,b,c)之类输出为0? return 0 ; } float sum(float i,float j,float k) /*局部变量只在局部起作用,出了函数模块或者循环就不起作用, 相当在模块里重新定义了一个变量,模块可以当作一个新的文件项目待, 里面的任何变量出了此模块都没有效应*/ { float s; s = i+j+k; return(s); } float sub(float i,float j,float k) { float s; s = i*j*k; return(s); } float aver(float i,float j,float k) { float s; s = (i+j+k)/3; return(s); } `` 已验证,输出正确
最新回复(0)