C 언어 학습 기록(12)편 정보 조회
20501 단어 C 언어
전언
필기를 하는 습관을 배우지 못했기 때문에 지식에 대한 깊은 이해를 강화하기 위해 필기를 쓰기로 했습니다. 여러분께 교류를 배우고 싶습니다!
부당한 점은 고쳐 주십시오!여기에 감사 드립니다!이쪽은 C 언어를 배우기 시작해서 자기가 프로그램 언어에 서툴러서 기초부터 배우기로 했습니다.
소들은 이 글을 소홀히 할 수 있다!
학교 OJ 실험
항공편 정보 조회
Problem Description 아래 표는 한 도시에서 다른 도시로 가는 일일 항공편 정보를 보여 줍니다. 이륙 시간 도착 시간 8:00 a.m. 10:16 a.m. 9:43 a.m. 11:52 a.m. 11:19 a.m. 1:31 p.m. 12:47 p.m. 3:00 p.m. 2:00 p.m. 4:08 p.m. 3:45 p.m.5:55 p.m. 7:00 p.m. 9:20 p.m. 9:45 p.m. 11:58 p.m. 구조 유형 컴파일러를 사용하여 사용자에게 시간(24시간제로 표시)을 입력하고 이륙 시간과 사용자가 가장 가까운 항공편을 선택하여 해당하는 이륙 시간과 도착 시간을 표시한다.Input Description은 콜론으로 구분된 시간을 24시간 단위로 입력합니다.Output Description은 이륙 시간과 입력 시간에 가장 가까운 항공편의 이륙 시간과 도착 시간을 출력하며, 출력 형식은 샘플 출력을 참조합니다.Sample Input 13:15 Sample Output departure time: 12:47 p.m. arriving time: 3:00 p.m. Hint는 입력을 자정부터 분 단위로 표시합니다.이 시간을 표에서도 자정부터 분수로 표시한 이륙시간과 비교해 보자.
문제 풀이:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
struct time{ // ,
int hour;
int minute;
char type[7];
};
int TToM(struct time t); //
int main()
{
int a, b, i=0; //a b
struct time ts[]= {
{8, 00, "a.m."}, {10, 16, "a.m."},
{9, 43, "a.m."}, {11, 52, "a.m."},
{11, 19, "a.m."}, {1, 31, "p.m."},
{12, 47, "p.m."}, {3, 00, "p.m."},
{2, 00, "p.m."}, {4, 8, "p.m."},
{3, 45, "p.m."}, {5, 55, "p.m."},
{7, 00, "p.m."}, {9, 20, "p.m."},
{9, 45, "p.m."}, {11, 58, "p.m."},
};
scanf("%d:%d", &a, &b);
int result = a*60 + b; //
int min = abs(result - TToM(ts[0])); //
int j=0;
for(i=2; i<=14; i+=2) //
{
if(min > abs(result - TToM(ts[i])))
{
min = abs(result - TToM(ts[i]));
j = i;
}
}
if(ts[j].minute<10) //
{
printf("departure time: %d:0%d %s
", ts[j].hour, ts[j].minute, ts[j].type);
if(ts[j+1].minute<10)
printf("arriving time: %d:0%d %s
", ts[j+1].hour, ts[j+1].minute, ts[j+1].type);
else
printf("arriving time: %d:%d %s
", ts[j+1].hour, ts[j+1].minute, ts[j+1].type);
}
else
{
printf("departure time: %d:%d %s
", ts[j].hour, ts[j].minute, ts[j].type);
if(ts[j+1].minute<10)
printf("arriving time: %d:0%d %s
", ts[j+1].hour, ts[j+1].minute, ts[j+1].type);
else
printf("arriving time: %d:%d %s
", ts[j+1].hour, ts[j+1].minute, ts[j+1].type);
}
return 0;
}
int TToM(struct time t){ //
if(!strcmp(t.type,"a.m."))
{
return t.hour*60 + t.minute;
}
else
{
if(t.hour==12)
{
return t.hour*60 + t.minute;
}
else
return t.hour*60 + t.minute + 12*60;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 구현 천둥 제거 게임 상세 정보먼저 작은 메뉴를 표시하고 게임을 할지 여부를 선택하십시오.사용자가 종료를 선택하면 프로그램 실행이 끝나고, 사용자가 게임을 선택하면 지뢰 제거 위치 좌표를 입력하라는 메시지가 표시됩니다.사용자가 입력한 좌표가 바둑...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.