반응형
scanf를 사용하여 공백으로 구분된 숫자를 읽는 방법
를 사용하여 공백으로 구분된 숫자(정수 유형)를 읽고 싶습니다.scanf()
기능.다음 내용을 읽었습니다.
별로 도움이 되지 않습니다.
공백을 구분 기호로 사용하여 숫자를 읽으려면 어떻게 해야 합니까?예를 들어.다음 번호를 입력합니다.2 5 7 4 3 8 18
이제 저는 이것들을 다양한 변수에 저장하고 싶습니다.제발 도와주세요.
기본적으로 스캔프에서 공백/입력으로 읽은 값이라고 생각합니다.정수를 인쇄하는 경우 '%d' 사이의 공백을 제공할 수 있습니다.다른 경우에도 마찬가지입니다.
scanf("%d %d %d", &var1, &var2, &var3);
마찬가지로 쉼표로 구분된 값을 읽으려면 다음을 사용합니다.
scanf("%d,%d,%d", &var1, &var2, &var3);
scanf
공백을 구분 기호로 사용하므로 다음과 같이 말하면 됩니다.scanf("%d", &var)
공백을 건너뛰고 정수(비자리까지 digits)를 읽습니다. 그 이상은 없습니다.
공백은 공백, 탭, 줄 바꿈 또는 캐리지 리턴과 같은 임의의 공백입니다.공백 중 하나 이상은 연속 정수를 구분하는 역할을 합니다.
int main()
{
char string[200];
int g,a,i,G[20],A[20],met;
gets(string);
g=convert_input(G,string);
for(i=0;i<=g;i++)
printf("\n%d>>%d",i,G[i]);
return 0;
}
int convert_input(int K[],char string[200])
{
int j=0,i=0,temp=0;
while(string[i]!='\0')
{
temp=0;
while(string[i]!=' ' && string[i]!='\0')
temp=temp*10 + (string[i++]-'0') ;
if(string[i]==' ')
i++;
K[j++]=temp;
}
return j-1;
}
수신 변수 목록을 사용하는 것처럼 간단해야 합니다.
scanf("%i %i %i", &var1, &var2, &var3);
이 솔루션을 사용하면 양과 음의 정수를 읽을 수 있습니다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BUFFER_SIZE 50
int convert_input (int * v, char * buffer) {
int len = 0, i = 0, temp = 0, positive_or_negative_one = 1;
while(buffer[i]!='\0') {
temp = 0;
if (buffer[i] == '-'){
positive_or_negative_one = -1;
i++;
} else {
while(buffer[i] != ' ' && buffer[i] != '\0')
temp = temp*10 + (buffer[i++]-'0');
if(buffer[i]==' ')
i++;
v[len++] = temp * positive_or_negative_one;
positive_or_negative_one = 1;
}
}
return len;
}
int main(int argc, char const *argv[]) {
int *a = NULL;
int count_a, len=0;
char buffer[BUFFER_SIZE];
printf("Input numbers here: ");
gets(buffer);
for (int i = 0; i < strlen(buffer); i++) {
if (buffer[i] == ' '){
len+=1;
}
}
a = (int*) malloc(sizeof(int) * len + 1);
count_a = convert_input(a, buffer);
for (int i = 0; i < count_a; i++) {
printf("%d\n", a[i]);
}
free(a);
return 0;
}
입력 및 출력 예제:
Input numbers here: 1 2 3 -4 10
1
2
3
-4
10
언급URL : https://stackoverflow.com/questions/10425953/how-to-read-numbers-separated-by-space-using-scanf
반응형
'programing' 카테고리의 다른 글
WP Rest API를 사용하여 WordPress를 백엔드로 React 배치 (0) | 2023.09.23 |
---|---|
mysql-community-server를 설치하는 동안 GPG 키 문제가 발생 (0) | 2023.09.23 |
jQuery를 사용하여 CSS를 변경하는 방법? (0) | 2023.09.23 |
Windows Forms C# 응용프로그램에서 구성 파일을 가지는 가장 간단한 방법 (0) | 2023.09.23 |
"No module: ngResource"(모듈 없음: ngResource)라는 오류가 표시됩니다. (0) | 2023.09.23 |