두 숫자 사이의 정확한 일치를 찾고 일치하지 않을 때 첫 번째 인스턴스에서 내 카운터를 중지하려고합니다. 그러나 필자가 작성한 코드는 전체 문자열 길이를 계산합니다. 이 작업을 수행 할 수있는 다른 방법이 있습니까? 내 카운터는 소수점 첫째 자리에서 시작되기 때문에 C 프로그래밍 : 두 숫자 사이의 정확한 일치를 결정하는 방법
가 아닌 0, 그것은 15로 계산하지만, 대답을하지 않을 수 있습니다 (10)#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
int main(){
char str[100];
char buf[100];
double l,m,a,b;
int c,d,t,u,r,q;
int count =0;
l=59874.141715197809000;
m=59874.141715197817000;
a= (l - (int)l);
b= (m -(int)m);
sprintf(str,"%.15f",a);
sprintf(buf,"%.15f",b);
c = strlen(str);
d = strlen(buf);
for(t=3;t<c;t++){
for(u=3;u<d;u++){
if(str[t]==buf[u]){
count++;
break;
}
}
}
printf("matching decimal places = %d \n",count);
return 0;
}
'의 sprintf (STR %의 .15f "를, A),'하지만이 정수 .. 당신이 견적을 놓치고 .. – Brandon
그리고 당신은 2 개의 루프가 필요 없다. – MFisherKDX
그리고'a = (l - (int) l)'은 항상 여기에서 0이다. –