#include <stdio.h>
#include <string.h>
void parse_gprmc(char *str) {
// Your logic here
int i=7,num=0,j=0,k=0;
char time[20],lat[20],lon[20];
while(str[i]!='\0'){
if (i<13) {
if(j==2) {
if(i<12) {
time[k]=':';
k++;}
j=0;
}
time[k]=str[i];
j++;
k++;
if(i==12){
time[k]='\0';
k=0;}
}
else if (i>=16 && i<=25 ){
if (str[i]==',') lat[k]=' ';
else lat[k]=str[i];
k++;
if(i==25) {
lat[k]='\0';
k=0;}
}
else if(i>26){
if (str[i]==',') lon[k]=' ';
else lon[k]=str[i];
k++;
if(i==38) {
lon[k]='\0';
k=0;}
}
i++;
}
printf("Time: %s\n",time);
printf("Latitude: %s\n",lat);
printf("Longitude: %s",lon);
}
int main() {
char nmea[100];
fgets(nmea, sizeof(nmea), stdin);
parse_gprmc(nmea);
return 0;
}
Input
$GPRMC,123519,A,4807.038,N,01131.000,E
Expected Output
Time: 12:35:19 Latitude: 4807.038 N Longitude: 01131.000 E