C语言问题---这个单位换算程序运行,结果是0.000000,用的是float。求解。
部分代码(出错部分)switch(z){case1:{floatÅ,um,cm,m,km,n_mile,cun,chi,inch,ft,mile,yard,AU...
部分代码(出错部分)
switch(z)
{
case 1:{
float Å,um,cm,m,km,n_mile,cun,chi,inch,ft,mile,yard,AU,ly,pc;
int a;
{
printf("===============================================================================\n");
printf(" 埃 微米 厘米 米 千米 海里 寸 尺 英寸 英尺 码 英里 天文单位 光年 秒差距 \n");
printf(" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \n");
printf("===============================================================================\n");
printf("**************************注:以上单位将转换为其它常用单位**************************\n");
printf("Select:");
}
scanf("%d",&a);
switch(a)
{
case 1:{
printf("输入长度(埃/Å):");
scanf("%f",&Å);
{
um=1/10000*Å;
cm=1/10000*um;
m=1/100*cm;
inch=cm/2.54;
cun=(3/10)*cm;
ft=inch/12;
chi=cun/10;
}
printf("%fÅ = %fμm = %fcm = %fm = %f寸 = %f尺 = %fin. = %fft",Å,um,cm,m,cun,chi,inch,ft);
break;
}//埃--->其它
=================================================================================
结果:
输入长度(埃/Å):1209401280481024
1209401318834176.000000Å = 0.000000μm = 0.000000cm = 0.000000m = 0.000000寸 = 0.000000尺
PS:
输入长度(厘米/cm):67
67.000000cm = 6700000000.000000Å = 670000.000000μm = 0.000000m = 0.000000寸 = 0.000000尺 = 26.377953in. = 2.198163ft
比输入长度单位大的就输出0.000000,小的正常。 展开
switch(z)
{
case 1:{
float Å,um,cm,m,km,n_mile,cun,chi,inch,ft,mile,yard,AU,ly,pc;
int a;
{
printf("===============================================================================\n");
printf(" 埃 微米 厘米 米 千米 海里 寸 尺 英寸 英尺 码 英里 天文单位 光年 秒差距 \n");
printf(" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \n");
printf("===============================================================================\n");
printf("**************************注:以上单位将转换为其它常用单位**************************\n");
printf("Select:");
}
scanf("%d",&a);
switch(a)
{
case 1:{
printf("输入长度(埃/Å):");
scanf("%f",&Å);
{
um=1/10000*Å;
cm=1/10000*um;
m=1/100*cm;
inch=cm/2.54;
cun=(3/10)*cm;
ft=inch/12;
chi=cun/10;
}
printf("%fÅ = %fμm = %fcm = %fm = %f寸 = %f尺 = %fin. = %fft",Å,um,cm,m,cun,chi,inch,ft);
break;
}//埃--->其它
=================================================================================
结果:
输入长度(埃/Å):1209401280481024
1209401318834176.000000Å = 0.000000μm = 0.000000cm = 0.000000m = 0.000000寸 = 0.000000尺
PS:
输入长度(厘米/cm):67
67.000000cm = 6700000000.000000Å = 670000.000000μm = 0.000000m = 0.000000寸 = 0.000000尺 = 26.377953in. = 2.198163ft
比输入长度单位大的就输出0.000000,小的正常。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询