有个程序无法编译,请编程高手进来解答

来源:百度知道 编辑:UC知道 时间:2024/09/23 22:27:01
程序如下
#include "stdio.h"
#include "conio.h"
#include "math.h"
main()
{
int i,j,k,m,n=0,number=43,bmin,bmax;
int agear1=number,agear2=number+1;
float d_ratio,a_error;
float agear,bgear,agear3,agear4;
static int gear[43]={20,20,23,24,25,30,33,34,35,37,40,41,43,45,47,48,50,53,
55,57,58,59,60,61,62,65,67,70,71,73,75,79,80,83,89,90,92,95,97,98,100};
printf("Please input the drive ratio:");scanf("%f",&d_ratio);
printf("Please input allowable error:");scanf("%f",&a_error);
if(d_ratio<1){bmin=gear[0]*gear[1]/d_ratio;
bmax=gear[number-2]*gear[number-1];}
else {bmin=gear[0]*gear[1];bmax=gear[number-2]*gear[number-1]/d_ratio;}
for(i=0;i<number-2;i++){
if(gear[i]*gear[i+1]>bmax)break;
if(gear[i]*gear[number-1]<bmin)continue;
for(j=i+1;j<number-1;j++){

1. agear3=int(d_ratio*bgear+0.5); 这出现了问题
C语言, 浮点转整形一般用 agear3=(int)(d_ratio*bgear+0.5);

2. if(agear1=gear[m]) 注意等号, 一般应使用两个等号

3. :: 可能是逻辑或运算|| , 还是与运算 &&

4. 基本的单词拼写有误, 这属于低级错误.

#include "stdio.h"
#include "conio.h"
#include "math.h"
main()
{
int i,j,k,m,n=0,number=43,bmin,bmax;
int agear1=number,agear2=number+1;
float d_ratio,a_error;
float agear,bgear,agear3,agear4;
static int gear[43]={20,20,23,24,25,30,33,34,35,37,40,41,43,45,47,48,50,53,
55,57,58,59,60,61,62,65,67,70,71,73,75,79,80,83,89,90,92,95,97,98,100};
printf("Please input the drive ratio:");scanf("%f",&d_ratio);
printf("Please input allowable error:");scanf("%f",&a_error);
if(d_ratio<1){bmin=gear[0]*gear[1]/d_ratio;
bmax=gear[number-2]*gear[number-1];}
else {bmin=gear[0]*gear[1];bmax=gear[number-2]*gear[number-1]/d_ratio;}
for(