度分秒解析……

来源:互联网 发布:三国志13pk诸葛亮数据 编辑:程序博客网 时间:2024/05/16 12:49

///////////////////////////////////////////////////////////////////////////////////////

下面是一个运用,看看有用哦:

下列数据为纬度,格式为,度数和分数为1位或者两位,秒的整数部分最大为两位
分别为13度、18分、27.54秒,13度7分9.96秒,6度42分45.67秒,请问怎样读取这些数值


131827.54
13 7 9.96
64245.67
#include <stdio.h>
#include <stdlib.h>
int main()
{
    char str1[]="131827.54";
    char str2[]="13 7 9.96";
    char str3[]="64245.67 ";
    
    int degree,min;
    float sec;

    sscanf(str1,"%2d%2d%5f",&degree,&min,&sec);
    printf("%2d%2d%5.2f/n",degree,min,sec);

    sscanf(str2,"%2d%2d%5f",&degree,&min,&sec);
    printf("%2d%2d%5.2f/n",degree,min,sec);
    
    sscanf(str3,"%2d%2d%5f",&degree,&min,&sec);
    printf("%2d%2d%5.2f/n",degree,min,sec);

    return 0;
}
写个循环看看

#include <stdio.h>
#define N 10000

int main()
{
    int degree[N],min[N];
    float sec[N];
    int i;

    FILE *file=fopen("data.txt","r");

    for(i=0;i<N;i++)
    {
        fscanf(file,"%2d%2d%5f",&degree[i],&min[i],&sec[i]);
        printf("%2d%2d%5.2f/n",degree[i],min[i],sec[i]);
    }
    
    fclose(file);
    return 0;
}

原创粉丝点击