关于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以后就正常运行了
求解 展开
我这样写的:
#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以后就正常运行了
求解 展开
展开全部
这个程序的书写有错误,在
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
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
展开全部
输出结果是
(1)3
20
(2)3
20
(3)20
3
(4)3
20
因为你用的是值传递所以在子函数中是不会改变实参顺序的
(1)3
20
(2)3
20
(3)20
3
(4)3
20
因为你用的是值传递所以在子函数中是不会改变实参顺序的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
是否可以解决您的问题?
#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;
}
是否可以解决您的问题?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double 初始化弄错了应该用scanf("%lf", &number)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询