C语言错误求解!

ZWXXL 2011-12-28 03:12:11
题目:已知铁的比重是7.86g/mm3,金的比重是19.3g/mm3.编写程序,分别计算出直径为100mm和150mm的铁球与金球的重量。
我写的程序:
#include<stdio.h>
#include<math.h>
#define PI 3.14
#define IRON 7.86
#define GLOD 19.3
double weigh(double a,double b);

weigh(a,b)
{
double n;
n=4.00/3*PI*pow(a/2,3)*b;
return n;
}

double main()
{
double r1,r2,m1,m2; //r1代表铁球的直径,r2代表金球的直径,m1代表铁球的质量,m2代表金球的质量
printf("请输入铁球和金球的半径:r1=%.2lf,r2=%.2lf\n");
scanf("%.2lf%.2lf",&r1,&r2);
m1=weigh(r1,IRON);
m2=weigh(r2,GLOD);
printf("铁球的重量为m1=%.2lf,金球的重量为m2=%.2lf",m1,m2);
return 0;
}
所用编译器为VC6.0编译器错误原因为n返回时从double型转换为int型,但是我不知道怎么改啊,求解。
...全文
352 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
viktor 2011-12-29
  • 打赏
  • 举报
回复
楼主给分吧……
氰客 2011-12-29
  • 打赏
  • 举报
回复
double main()



、、????、、、
请勿坑爹 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 keiy 的回复:]

程序修改如下:
C/C++ code

#include<stdio.h>
#include<math.h>
#define PI 3.14
#define IRON 7.86
#define GLOD 19.3
double weigh(double a,double b);

double weigh(double a,double b) //新的编译器,要这样写
{
double n……
[/Quote]
++
farmliver 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 keiy 的回复:]

程序修改如下:
C/C++ code

#include<stdio.h>
#include<math.h>
#define PI 3.14
#define IRON 7.86
#define GLOD 19.3
double weigh(double a,double b);

double weigh(double a,double b) //新的编译器,要这样写
{
double n……
[/Quote]
++
aaahuanian 2011-12-29
  • 打赏
  • 举报
回复
main()函数里返回的是0,返回的是int型的数据,而你的main()是double型的需要类型转换,所以,你用什么建也不会把错误改掉。
yuan512341959 2011-12-29
  • 打赏
  • 举报
回复
weigh(a,b) //没家返回值和参数类型可以么? double weigh(double a,double b)
{
double n;
n=4.00/3*PI*pow(a/2,3)*b;
return n;
}

赵4老师 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 black__blood 的回复:]
C/C++ code

#include<stdio.h>
#include<math.h>
#define PI 3.14
#define IRON 7.86
#define GLOD 19.3
//double weigh(double a,double b);

double weigh(double a,double b)
{
double n;
n=4.00/3……
[/Quote]
#include <stdio.h>
#include <math.h>
#define PI 3.1416
#define IRON 7.86
#define GLOD 19.3
double weigh(double a,double b) {
double n;
n=4.0/3.0*PI*pow(a/2.0,3.0)*b;
return n;
}
int main() {
double r1,r2,m1,m2; //r1代表铁球的直径,r2代表金球的直径,m1代表铁球的质量,m2代表金球的质量
printf("请输入铁球和金球的半径(用空格间隔):");fflush(stdout);
scanf("%lf%lf",&r1,&r2);
if (r1<0.0 || r2<0.0) return 1;
m1=weigh(r1,IRON);
m2=weigh(r2,GLOD);
printf("铁球的重量为m1=%lg,金球的重量为m2=%lg",m1,m2);
return 0;
}
public_lcc 2011-12-28
  • 打赏
  • 举报
回复
传入参数的类型要写
鲤鱼 2011-12-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zwxxl 的回复:]

#include<stdio.h>
#include<math.h>
#define PI 3.14
#define IRON 7.86
#define GLOD 19.3
double weigh(double a,double b);

double weigh(a,b)
{
double n;
n=4.00/3*PI*pow(a/2,3)*b;
return n;
……
[/Quote]
编译没问题啊
还有名字 2011-12-28
  • 打赏
  • 举报
回复

#include<stdio.h>
#include<math.h>
#define PI 3.14
#define IRON 7.86
#define GLOD 19.3
//double weigh(double a,double b);

double weigh(double a,double b)
{
double n;
n=4.00/3*PI*pow(a/2,3)*b;
return n;
}

double main()
{
double r1,r2,m1,m2; //r1代表铁球的直径,r2代表金球的直径,m1代表铁球的质量,m2代表金球的质量
printf("请输入铁球和金球的半径:r1=%.2lf,r2=%.2lf\n");
scanf("%.2lf%.2lf",&r1,&r2);
m1=weigh(r1,IRON);
m2=weigh(r2,GLOD);
printf("铁球的重量为m1=%.2lf,金球的重量为m2=%.2lf",m1,m2);
return 0;
}
ZWXXL 2011-12-28
  • 打赏
  • 举报
回复
谢谢了!我是新手,多谢大家的帮助。
柯本 2011-12-28
  • 打赏
  • 举报
回复
程序修改如下:

#include<stdio.h>
#include<math.h>
#define PI 3.14
#define IRON 7.86
#define GLOD 19.3
double weigh(double a,double b);

double weigh(double a,double b) //新的编译器,要这样写
{
double n;
n=4.00/3*PI*pow(a/2,3)*b;
return n;
}

int main() //main只能返回int的
{
double r1,r2,m1,m2; //r1代表铁球的直径,r2代表金球的直径,m1代表铁球的质量,m2代表金球的质量
printf("请输入铁球和金球的半径:r1=#r1,r2=#r2\n");
scanf("%lf%lf",&r1,&r2); //输入不用.2格式,且double的要用%lf
printf("r1=%.2lf,r2=%.2lf\n",r1,r2); //加入变量名,输出更清晰
m1=weigh(r1,IRON);
m2=weigh(r2,GLOD);
printf("铁球的重量为m1=%.2f,金球的重量为m2=%.2f",m1,m2);
return 0;
}


另外的问题是,你建错工程了,要用win32 console工程
viktor 2011-12-28
  • 打赏
  • 举报
回复
或者在编译选项里面 把构建目标改成 Win32控制台应用程序
new_buffer 2011-12-28
  • 打赏
  • 举报
回复
楼主你太牛了吧,工程类型都建立错了。
error LNK2001: unresolved external symbol _WinMain@16
这个错误是找不到WinMain函数入口。你工程应该建的是Win32 Application类型的。

请把工程类型改成 Win32 Console Application
viktor 2011-12-28
  • 打赏
  • 举报
回复
哦哦 你得加上 /subsystem:console
ZWXXL 2011-12-28
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<math.h>
#define PI 3.14
#define IRON 7.86
#define GLOD 19.3
double weigh(double a,double b);

double weigh(a,b)
{
double n;
n=4.00/3*PI*pow(a/2,3)*b;
return n;
}

double main()
{
double r1,r2,m1,m2; //r1代表铁球的直径,r2代表金球的直径,m1代表铁球的质量,m2代表金球的质量
printf("请输入铁球和金球的半径:r1=#r1,r2=#r2\n");
scanf("%.2f%.2f",&r1,&r2);
printf("%.2f%.2f",r1,r2);
m1=weigh(r1,IRON);
m2=weigh(r2,GLOD);
printf("铁球的重量为m1=%.2f,金球的重量为m2=%.2f",m1,m2);
return 0;
}
我改的现在能编译但是不能组建了,组建时的错误为error LNK2001: unresolved external symbol _WinMain@16
ZWXXL 2011-12-28
  • 打赏
  • 举报
回复
2楼的改了有错啊
error C2143: syntax error : missing ')' before '*'
error C2081: '_TCHAR' : name in formal parameter list illegal
error C2059: syntax error : ')'
error C2054: expected '(' to follow 'argv'
执行 cl.exe 时出错.
viktor 2011-12-28
  • 打赏
  • 举报
回复
编译选项加一个 -fpermissive试下
oysoft 2011-12-28
  • 打赏
  • 举报
回复

#include<stdio.h>
#include<math.h>
#define PI 3.14
#define IRON 7.86
#define GLOD 19.3
double weigh(double a,double b)
{
double n;
n=4.00/3*PI*pow(a/2,3)*b;
return n;
}

int _tmain(int argc, _TCHAR* argv[])
{
double r1,r2,m1,m2; //r1代表铁球的直径,r2代表金球的直径,m1代表铁球的质量,m2代表金球的质量
printf("请输入铁球和金球的直径:r1,r2\n");
scanf("%lf%lf",&r1,&r2);
m1=weigh(r1,IRON);
m2=weigh(r2,GLOD);
printf("铁球的重量为m1=%.2f,金球的重量为m2=%.2f",m1,m2);
return 0;
}
这个采用C语言开发的项目是一个多功能的软件应用程序。它旨在提供一个高效、可靠的解决方案,用于处理各种计算机科学和软件开发任务。该项目的目标是为开发人员和计算机科学专业人员提供一个功能强大且易于使用的工具集。 该项目具有许多令人印象深刻的特性。首先,它提供了一组丰富的库和工具,以支持C语言的开发和调试。这些库包括用于字符串处理、内存管理、文件操作和网络编程等常见任务的函数。此外,该项目还提供了一套强大的调试工具,帮助开发人员快速定位和修复代码中的错误。 另一个令人赞赏的特点是该项目的跨平台性。它可以在多个操作系统上运行,包括Windows、Linux和Mac OS等。这使得开发人员可以在不同的环境中使用同一套工具和库,从而提高了开发的灵活性和效率。 该项目还具有高度可定制性。开发人员可以根据自己的需求和偏好,灵活地配置和扩展项目的功能。这包括选择所需的库、启用或禁用特定的功能模块以及修改项目的行为。 此外,该项目还注重性能和效率。通过优化算法和数据结构,以及利用硬件资源的最佳方式,该项目能够在处理大规模数据和复杂计算时提供出色的性能。 总之,这个采用C语言开发的项目是一个强大而灵活的工具,为开发人员和计算机科学专业人员提供了丰富的功能和可靠的解决方案。它的跨平台性、可定制性和高性能使其成为一个理想的选择,无论是进行系统编程、嵌入式开发还是进行科学计算和数据处理。
第一篇 基础知识篇 实例1 数据类型转换 实例2 转义字符 实例3 关系和逻辑运算 实例4 自增自减 实例5 普通位运算 实例6 位移运算 实例7 字符译码 实例8 指针操作符 实例9 if判断语句 实例10 else-if语句 实例11 嵌套if语句 实例12 switch语句 实例13 for语句 实例14 while语句 实例15 do-while语句 实例16 break和continue语句 // 实例17 exit()语句 // 实例18 综合实例 实例19 一维数组 实例20 二维数组 实例21 字符数组 // 实例22 数组初始化 // 实例23 数组应用 实例24 函数的值调用 实例25 函数的引用调用 //swap 实例26 数组函数的调用 // 实例27 命令行变元 // 实例28 函数的返回值 实例29 函数的嵌套调用 实例30 函数的递归调用 实例31 局部和全局变量 实例32 变量的存储类别 实例33 内部和外部函数 实例34 综合实例1 实例35 综合实例2 实例36 变量的指针 实例37 一维数组指针 实例38 二维数组指针 实例39 字符串指针 实例40 函数指针 实例41 指针数组 实例42 二维指针 实例43 指针的初始化 实例44 综合实例 第二篇 深入提高篇 实例45 结构体变量 实例46 结构体数组 实例47 结构体指针变量 实例48 结构体指针数组 实例49 共用体变量 实例50 枚举类型 实例51 读写字符 实例52 读写字符串 实例53 格式化输出函数 实例54 格式化输入函数 实例55 打开和关闭文件 实例56 fputc()和fgetc() 实例57 函数rewind() 实例58 fread()和fwrite() 实例59 fprintf()和fscanf() 实例60 随机存取 实例61 错误处理 实例62 综合实例 实例63 动态分配函数 实例64 常用时间函数 实例65 转换函数 实例66 查找函数 实例67 跳转函数 实例68 排序函数 实例69 伪随机数生成 实例70 可变数目变元 第三篇 常用算法篇 实例71 链表的建立 实例72 链表的基本操作 实例73 队列的应用 实例74 堆栈的应用 实例75 串的应用 实例76 树的基本操作 实例77 冒泡排序法 实例78 堆排序 实例79 归并排序 实例80 磁盘文件排序 实例81 顺序查找 实例82 二分法查找 实例83 树的动态查找 实例84 二分法求解方程 实例85 牛顿迭代法求解方程 实例86 弦截法求解方程 实例87 拉格朗日插值 // 实例88 最小二乘法拟合 ?? 实例89 辛普生数值积分 实例90 改进欧拉法 实例91 龙格-库塔法 实例92 高斯消去法 实例93 正定矩阵求逆 第四篇 综合应用篇 实例94 用C语言实现遗传算法 实例95 人工神经网络的C语言实现 实例96 K_均值算法 实例97 ISODATA算法 实例98 快速傅立叶变换 实例99 求解野人与传教士问题 实例100 简单专家系统

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧