编程题调试出问题了,旦不知道怎么解决,高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/19 02:03:36
#include<stdio.h>
char o[8]={'A','B','C','D','E','F','G','H'};
float p[8]={100,50,25,10,5,2.5,1,0.5};

d(double,double,float);
main()
{

int i,h;
double j,w;
float s[3],t[3];
float q;
printf("请输入所需求的比例尺:1:");
scanf("%f",&q);
printf("请输入分别经度和纬度,度分均用空格代替:");
for(i=0;i<3;i++)
scanf("%f",&s[i]);
for(h=0;h<3;h++)
scanf("%f",&t[h]);
j=s[0]+s[1]/60.0+s[2]/3600.0;
w=t[0]+t[1]/60.0+t[2]/3600.0;
d(j,w,q);
}

d(double j,double w,float q)
{
double a,b,i;
double jc[8]={6.0,3.0,1.5,0.5,0.25,0.125,0.0625,0.03125},
wc[8]={4.0,2.0,1.0,1.0/3,1.0/6,1.0/12,1.0/24,1.0/48};
double c,d,m,n;
a=j/jc[0]+1;
if(j>=0&&j<=180)
b=j/6+31;
else
b=31-j/6;
printf("该经纬度所在的图幅编号为:");
printf("%d%d

哥们,你这个程序太乱了,帮你改了一下,也看不清你是做什么,结果对不对就不知道了。反正通过了。
#include<stdio.h>

char o[8]={'A','B','C','D','E','F','G','H'};
float p[8]={100,50,25,10,5,2.5,1,0.5};

void d(double,double,float);
void main()
{
int i,h;
double j,w;
float s[3],t[3];
float q;
bool b=false;
while (1) {
printf("请输入所需求的比例尺:1:");
scanf("%f",&q);
for (int k=0;k<8;k++)
if (p[k]==q)
b=true;
if (b)
break;
}

printf("请输入分别经度和纬度,度分均用空格代替:\r\n");
scanf("%f %f %f",&s[0],&s[1],&s[2]);
scanf("%f %f %f",&t[0],&t[1],&t[2]);
j=s[0]+s[1]/60.0+s[2]/3600.0;
w=t[0]+t[1]/60.0+t[2]/3600.0;
d(j,w,q);
}

void d(double j,double w,float q)
{
int i;
double a,b;
double jc[8]={6.0,3.0,1.5,0.