关于C语言的一道题

原题:Writeaprogramthatrequestsatypedoublenumberandprintsthevalueofthenumbercubed.Useafu... 原题:Write a program that requests a type double number and prints the value of the number cubed. Use a function of your own design to cube the value and print it. The main() program should pass the entered value to this funtion.

我这样写的:
#include<stdio.h>
double cube(double num);
int main(void)
{
double number;

printf("Please enter a type double number.\n");
scanf("%f", &number);
printf("The cube of %f is %f.\n", number, cube(number));

return 0;
}
double cube(double num)
{
return (num * num * num);
}
结果怎么输入结果都是The cube of 0.000000 is 0.000000.

然后把所有的double全都改成float以后就正常运行了

求解
展开
 我来答
达人方舟教育GG
2019-07-19 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.2万
采纳率:25%
帮助的人:777万
展开全部
这个程序的书写有错误,在

void
swap(int
*a,int
*b)
{int
t;
printf("(2)x=%d
y=%d\n",x,y);
t=*a;
*a=*b;
*b=t;
printf("(3)x=%d
y=%d\n",x,y);
}
肯定会输出错误信息,编译是通不过的,因为,x,y
为定义
这段代码应改为
void
swap(int
*a,int
*b)
{int
t;
printf("(2)x=%d
y=%d\n",*a,*b);
t=*a;
*a=*b;
*b=t;
printf("(3)x=%d
y=%d\n",*a,*b);

}
这样输出的结果就会是
(1)x= 3
y=20
(2)x= 3
y=20
(3)x= 20
y=3
(4)x= 20
y=3
回远钦卯
2019-06-24 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:27%
帮助的人:1418万
展开全部
输出结果是
(1)3
20
(2)3
20
(3)20
3
(4)3
20
因为你用的是值传递所以在子函数中是不会改变实参顺序的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
庚桃雨So
2014-07-23 · TA获得超过119个赞
知道答主
回答量:118
采纳率:0%
帮助的人:156万
展开全部
#include<stdio.h>
#include<stdlib.h>

int main()
{
FILE* fp=NULL;
char ch='\0';
int cnt=0;
float salay=0.0;

fp=fopen("fileName","r+");
if(fp==NULL){
printf("open file error!\n");
return 1;
}
while(feof(fp)==0){
fread(ch,1,1fp);
if(ch!=32) {
cnt++;
}
}
salay=0.5*cnt;
printf("稿费为%f\n",salay);

return 0;
}

是否可以解决您的问题?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gdx2013
推荐于2016-06-18 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:132万
展开全部

 #include<stdio.h>
double cube(double num);
int main(void){ 
 double number;  
 printf("Please enter a type double number.\n"); 
 scanf("%lf", &number); //float is %f,and the double is %lf

 printf("The cube of %lf is %lf.\n", number, cube(number)); 
//float is %f,and the double is %lf

return 0;
}
double cube(double num){
 
 return (num * num * num);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自汇龙潭简简单单的椰树
2014-07-23
知道答主
回答量:16
采纳率:0%
帮助的人:9万
展开全部
double 初始化弄错了应该用scanf("%lf", &number)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式