关于C语言几个程序的问题
//求汽车平均速度#include<stdio.h>voidmain(){intqh(intx,inty);//对被调用qt函数的声明intH,h;//定义变量float...
//求汽车平均速度
#include <stdio.h>
void main()
{
int qh(int x,int y); //对被调用qt函数的声明
int H,h; //定义变量
float v,L,M,m,s1,s2,T; //定义变量
printf("请输入里程数,单位为米\n"); //显示输入变量
scanf("&f",&L); //输入变量
printf("请输入出发时间,格式为 时,分,秒\n"); //显示输入变量
scanf("%d,%d,%d",&H,&M,&s1); //输入变量
printf("请输入到达时间,格式为 时,分,秒\n"); //显示输入变量
scanf("%d,%d,%d",&h,&m,&s2); //输入变量
T=(float)(qh(H,h))+(m-M)*60+s2-s1; //对T赋值
v=L/T;
}
int qh(int x,int y)
{
int z;
if(x>y)z=(24-x+y)*3600;
else z=(x-y)*3600;
return(z);
}
//求一元2次方程根的程序
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c;
printf("标准一元2次方程形式为axx+bx+c=0\n请输入其系数,表示为 a,b,c\n");
scanf("%f,%f,%f,",&a,&b,&c);
float x1,x2,D;
D=b*b-4*a*c;
if(D=0)
{
x1=x2=(-b)/(2*a);
printf("x1=x2=%f",x1);
}
if(D>0)
{
x1=((-b)+sqrt(D))/(2*a);
printf("x1=%f,x2=%f",x1,x2);
}
else
{
printf("该方程无实数根\n");
}
}
两个程序都可以运行,但是计算时
求汽车速度的程序只能得出v=0.000000
计算根的程序只能得出:该方程无实数根
希望明白人解答一下 本人初学者. 展开
#include <stdio.h>
void main()
{
int qh(int x,int y); //对被调用qt函数的声明
int H,h; //定义变量
float v,L,M,m,s1,s2,T; //定义变量
printf("请输入里程数,单位为米\n"); //显示输入变量
scanf("&f",&L); //输入变量
printf("请输入出发时间,格式为 时,分,秒\n"); //显示输入变量
scanf("%d,%d,%d",&H,&M,&s1); //输入变量
printf("请输入到达时间,格式为 时,分,秒\n"); //显示输入变量
scanf("%d,%d,%d",&h,&m,&s2); //输入变量
T=(float)(qh(H,h))+(m-M)*60+s2-s1; //对T赋值
v=L/T;
}
int qh(int x,int y)
{
int z;
if(x>y)z=(24-x+y)*3600;
else z=(x-y)*3600;
return(z);
}
//求一元2次方程根的程序
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c;
printf("标准一元2次方程形式为axx+bx+c=0\n请输入其系数,表示为 a,b,c\n");
scanf("%f,%f,%f,",&a,&b,&c);
float x1,x2,D;
D=b*b-4*a*c;
if(D=0)
{
x1=x2=(-b)/(2*a);
printf("x1=x2=%f",x1);
}
if(D>0)
{
x1=((-b)+sqrt(D))/(2*a);
printf("x1=%f,x2=%f",x1,x2);
}
else
{
printf("该方程无实数根\n");
}
}
两个程序都可以运行,但是计算时
求汽车速度的程序只能得出v=0.000000
计算根的程序只能得出:该方程无实数根
希望明白人解答一下 本人初学者. 展开
5个回答
推荐于2017-09-25
展开全部
第一个程序(修改两处):
//---------------------------------------------------------------------------
#include <stdio.h>
void main()
{
int qh(int x,int y);
int H,h;
float v,L,M,m,s1,s2,T;
printf("请输入里程数,单位为米\n");
scanf("%f",&L); //注意这里
printf("请输入出发时间,格式为 时,分,秒\n");
scanf("%d,%d,%d",&H,&M,&s1);
printf("请输入到达时间,格式为 时,分,秒\n");
scanf("%d,%d,%d",&h,&m,&s2);
T=(float)(qh(H,h))+(m-M)*60+s2-s1;
v=L/T;
}
int qh(int x,int y)
{
int z;
if(x>y)z=(24-x+y)*3600;
else z=(y-x)*3600; //注意这里
return(z);
}
//---------------------------------------------------------------------------
第二个程序(修改4处):
//---------------------------------------------------------------------------
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c;
float x1,x2,D; /*注意这里,变量声明应该放在执行语句之前*/
printf("标准一元2次方程形式为axx+bx+c=0\n请输入其系数,表示为 a,b,c\n");
scanf("%f,%f,%f,",&a,&b,&c);
D=b*b-4*a*c;
if(D==0) /*注意这里*/
{
x1=x2=(-b)/(2*a);
printf("x1=x2=%f",x1);
}
else if(D>0) /*注意这里*/
{
x1=((-b)+sqrt(D))/(2*a);
x2=((-b)-sqrt(D))/(2*a); /*注意这里*/
printf("x1=%f,x2=%f",x1,x2);
}
else
{
printf("该方程无实数根\n");
}
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <stdio.h>
void main()
{
int qh(int x,int y);
int H,h;
float v,L,M,m,s1,s2,T;
printf("请输入里程数,单位为米\n");
scanf("%f",&L); //注意这里
printf("请输入出发时间,格式为 时,分,秒\n");
scanf("%d,%d,%d",&H,&M,&s1);
printf("请输入到达时间,格式为 时,分,秒\n");
scanf("%d,%d,%d",&h,&m,&s2);
T=(float)(qh(H,h))+(m-M)*60+s2-s1;
v=L/T;
}
int qh(int x,int y)
{
int z;
if(x>y)z=(24-x+y)*3600;
else z=(y-x)*3600; //注意这里
return(z);
}
//---------------------------------------------------------------------------
第二个程序(修改4处):
//---------------------------------------------------------------------------
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c;
float x1,x2,D; /*注意这里,变量声明应该放在执行语句之前*/
printf("标准一元2次方程形式为axx+bx+c=0\n请输入其系数,表示为 a,b,c\n");
scanf("%f,%f,%f,",&a,&b,&c);
D=b*b-4*a*c;
if(D==0) /*注意这里*/
{
x1=x2=(-b)/(2*a);
printf("x1=x2=%f",x1);
}
else if(D>0) /*注意这里*/
{
x1=((-b)+sqrt(D))/(2*a);
x2=((-b)-sqrt(D))/(2*a); /*注意这里*/
printf("x1=%f,x2=%f",x1,x2);
}
else
{
printf("该方程无实数根\n");
}
}
//---------------------------------------------------------------------------
展开全部
1. scanf("%f",&L); //输入变量
2. if(D==0) /*是==,不是=*/
就上面两个地方粗心了,程序写的不错
2. if(D==0) /*是==,不是=*/
就上面两个地方粗心了,程序写的不错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个 下面几行格式控制有误:
scanf("%f",&L); //输入变量
printf("请输入出发时间,格式为 时,分,秒\n"); //显示输入变量
scanf("%d,%f,%f",&H,&M,&s1); //输入变量
printf("请输入到达时间,格式为 时,分,秒\n"); //显示输入变量
scanf("%d,%f,%f",&h,&m,&s2); //输入变量
无输出函数 printf("平均速度=%f",&V);
自定义函数中 else z=(x-y)*3600; 应为 else z=(y-x)*3600;
建议H,h也定义成实型。并加入判定hH是否小于24大于0,mMs1s2是否小于60大于0的y语句。
第二个 第二个if处缺少 x2=((-b)-sqrt(D))/(2*a);
第二个if前加else,后一个else语句不用加花括号。应该是if(D==0);
scanf("%f",&L); //输入变量
printf("请输入出发时间,格式为 时,分,秒\n"); //显示输入变量
scanf("%d,%f,%f",&H,&M,&s1); //输入变量
printf("请输入到达时间,格式为 时,分,秒\n"); //显示输入变量
scanf("%d,%f,%f",&h,&m,&s2); //输入变量
无输出函数 printf("平均速度=%f",&V);
自定义函数中 else z=(x-y)*3600; 应为 else z=(y-x)*3600;
建议H,h也定义成实型。并加入判定hH是否小于24大于0,mMs1s2是否小于60大于0的y语句。
第二个 第二个if处缺少 x2=((-b)-sqrt(D))/(2*a);
第二个if前加else,后一个else语句不用加花括号。应该是if(D==0);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(D=0)
{
x1=x2=(-b)/(2*a);
printf("x1=x2=%f",x1);
}
else if(D>0)
{
x1=((-b)+sqrt(D))/(2*a);
printf("x1=%f,x2=%f",x1,x2);
}
else
{
printf("该方程无实数根\n");
}
}
少了个 else
{
x1=x2=(-b)/(2*a);
printf("x1=x2=%f",x1);
}
else if(D>0)
{
x1=((-b)+sqrt(D))/(2*a);
printf("x1=%f,x2=%f",x1,x2);
}
else
{
printf("该方程无实数根\n");
}
}
少了个 else
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我刚学,不会这个,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询