一程序涉及返回值问题。。。想不明白,求救!
问题:设计一程序,计算奖牌的价格,考虑奖牌纯度100%,金银铜密度分别为19.3,10.5,8.93,单位质量的价格分别为1324,17.76,0.2211,奖牌体积由半径和厚度决定,奖牌形状一样,体积相同。
要求:程序包括主函数,价格函数,重量函数,体积函数这几部分;
主函数外的函数类型要求为double型;
输入时只输入半径和厚度变量,输出时要输出金银铜奖牌分别的价格;
这是一道C语言学习前期的问题。。。本人循环和函数调用学了,数组,指针什么的还没接触,我现在卡在返回值问题上了,体积函数返回值一个,编重量函数的时候返回值需要金银铜三个了。。。怎么办?价格函数的时候也是,求帮忙!!!
[解决办法]
- C/C++ code
#include <stdio.h>#define TYPE 3#define PI 3.1415926double Value(double w, double p){ return(w * p); }double Weight(double v, double d){ return(v * d); }double Volume(double r, double h){ return(PI * r * r * h); } main(){ const char *MentalName[TYPE] = {"Gold", "Silver", "Copper"}; const double MentalAttr[TYPE][2] = {{19.3, 1324}, {10.5, 17.76}, {8.93, 0.2211}}; float Radius[TYPE], Height[TYPE]; double Price[TYPE]; int i; for(i = 0; i<TYPE; i++) { printf("%s:\n", MentalName[i]); printf("Radius:"); scanf("%f", &Radius[i]); printf("Height:"); scanf("%f", &Height[i]); printf("\n"); } for(i = 0; i<TYPE; i++) { Price[i] = Value(Weight(Volume(Radius[i], Height[i]), MentalAttr[i][0]),MentalAttr[i][1]); printf("The Price of %s is: %f\n", MentalName[i], Price[i]); } getchar(); return 0;}