程序设计入门——C语言_中国大学MOOC(慕课) (icourse163.org)
#include<stdio.h>
#include<string.h>
int SL(char a);
int main(){
char a[100];
char e[6];
int c,d,h;
int i,b,cnt,flag;
while(gets(a)&&strcmp(a,"END")!=0){
if(strstr(a,"$GPRMC")==NULL) continue;
cnt=0;
flag=1;//检验是否已定位
for(i=0;i<strlen(a);i++){
if(a[i]==','){
cnt++;
}
if(cnt==2&&a[i+1]=='A'){
flag=0;
break;
}
}
if(flag) continue;
b=0;//求校验值
for(i=1;a[i]!='*';i++){
b^=a[i];
}
c=SL(a[strlen(a)-2])*16+SL(a[strlen(a)-1]); //取出最后两位
if(c==b%65536){
for(i=0;i<strlen(a);i++){
if(