C에서 프로그램에 타임 스탬프를 추가하고이 코드를 사용하도록 요청했습니다 : 그리고 나는를 추가하려면이 코드를 사용할 필요가내가 C 코드의 두 세트를 주어 졌어
#include <stdio.h>
void main() {
int n, c=0;
scanf("%d", &n);
while(n != 1) {
c++;
if(n%2 == 0)
n = n/2;
else
n = 3*n + 1;
}
printf("n = %d\n", n);
printf("iterations = %d\n", c);
}
을 입력 문장 다음에 그리고 프로그램이 끝나기 전에 위의 프로그램에 대한 타임 스탬프. 프로그램을 실행하는 데 걸리는 클럭주기 및 초 수를 계산할 때이 값을 사용해야합니다.
#include <stdio.h>
#include <time.h>
void sleep2(int wait) {
clock_t goal; // clock_t defined in <time.h>
goal = wait * CLOCKS_PER_SEC + clock();
while(goal > clock())
;
}
main() {
int delay;
printf("Enter an integer ...\n");
scanf("%d", &delay);
printf("To be delayed for %d seconds ...\n", delay);
sleep2(delay);
printf("expired\n");
}
나는 단순해야한다고 생각하지만, 타임 스탬프를 넣는 코드를 사용하는 방법을 잘 모르겠습니다. 누군가 코드에 대한 도움을 주시겠습니까?
감사합니다.
StackOverflow에 오신 것을 환영합니다. 게시 할 때 코드를 올바르게 포맷하려면 몇 초가 걸립니다. 확인을 위해 쓰여지는 바로 아래의 영역에 쓰기를 실시간으로 미리 볼 수 있습니다. 힌트 : 탭 대신 공백을 사용하고 4 칸을 들여 코드 본문을 시작하십시오. 제대로 서식을 지정하면 사람들이 쉽게 읽을 수 있습니다. (다른 사람은 자신의 시간을 보내지 않아도됩니다.) :) 더 쉬운 질문은 대답을 얻을 가능성이 높습니다. (그리고 더 빨리, 너무.) 고마워. :) –
그것은 혼란스러운 두 번째 프로그램입니다. 일정한 시간이 지나기 전까지 만 [busy-waits] (http://en.wikipedia.org/wiki/Busy_wait)합니다. 실제로 무언가가 실제로 얼마나 오래 걸렸는 지 알려주는 것은 쓸모가 없습니다. (비록'clock()'함수가 확실히 그것을 제공 할 수 있습니다.) – sarnold
@KenWhite - 죄송합니다. 탭 대신 공백을 사용했는데 여전히 작동하지 않는 것 같습니다. – aclark