표준 입력에서 두 개의 숫자를 C로 문자열로 읽어야합니다. 그 합을 문자열로도 인쇄하려면 어떻게해야합니까? 나는 가지고있다 :두 숫자를 문자열로 추가하는 방법
char a[10],b[10];
printf("enter the two numbers");
scanf("%s%s",&a,&b);
char sum[20];
sum=?
작은 팁을 부탁한다. 감사합니다.
표준 입력에서 두 개의 숫자를 C로 문자열로 읽어야합니다. 그 합을 문자열로도 인쇄하려면 어떻게해야합니까? 나는 가지고있다 :두 숫자를 문자열로 추가하는 방법
char a[10],b[10];
printf("enter the two numbers");
scanf("%s%s",&a,&b);
char sum[20];
sum=?
작은 팁을 부탁한다. 감사합니다.
chars
은 더 작은 ints
처럼 8 비트 이진수입니다. 우리는 그 (것)들을 편지로 의미를주기 위하여 해석해야한다.
귀하의 컴퓨터는 아마도 ASCII 표준을 사용하고있을 것입니다. ASCII에서 문자 0
를 나타내는 char
값은 실제로 수치 0이없는 그것의 48 다행히 숫자는 모두 연속되도록 1
등,
char zero = '0';
printf("%d\n", zero);
char one = '1';
printf("%d\n", one);
> 48
> 49
(49 참고 그 %d
형식 printf
의 플래그는 "정수로 해석"을 의미합니다.)
chars
은 숫자이므로 수학으로 계산할 수 있습니다.
char one = '1';
int one_num = one - '0';
printf("%d\n", one_num);
> 1
지금, 당신은 소수점 자리 추가를 구현할 수 있으며, 당신처럼 수행하는 종이에 할 것. 그렇게 금지하지 않는 한
atoi
을 사용하여 문자열을 숫자로 변환 한 다음 함께 추가 한 다음 printf와 같은 인쇄 기능을 사용하여 합계를 인쇄하십시오. this
그냥 초등학교처럼 그것을 참조
는의 입력이 "... + ... 63 69"
9 + 3 = 2 and 1 to go
6 + 6 + 1 = 3 and 1 to go
...
당신이 그것을 할 것처럼 프로그래밍이 작업을 수행했다 가정 해 봅시다 종이에. 작은 걸음을 내딛고 종이에 할 일없이 모든 단계를 분명하게 알려줍니다.
00111
---------
12345
123456789
---------
123469134
0
으로 끝내는 두 가지 길이를 찾아야합니다.5+9=14
을 어떻게 처리하는지 확인하십시오. 다른 변수에서이를 유지해야합니다.루프를 사용하십시오. 추가 한 후에는 전체 길이를 알고 왼쪽 가장자리로 옮겨야합니다. 우리는 길이를 미리 알지 못하기 때문에 sum
배열의 오른쪽 가장자리에서 대답을 적어두기 시작합니다. 이 점에 대해 어떻게 그리고 개선 할 수 있는지 생각하십시오.
, 그때 나는 다음과 같은 접근 것 :
숫자로 입력 문자열 (들)을 변환합니다. 나는 strtol()
을 시도 할 것입니다.
를 추가합니다. 나는 snprintf()
을 시도 할 것이다.
snprintf (합계, ........); –