Hướng dẫn read array in one line c++ - đọc mảng trong một dòng c ++

Tôi đã viết một ứng dụng trong C mà mong đợi hai dòng ở đầu vào. Đầu vào đầu tiên cho biết một mảng int sẽ lớn như thế nào và đầu vào thứ hai chứa các giá trị được phân tách bằng không gian. Ví dụ: đầu vào sau

5
1 2 3 4 99

nên tạo một mảng chứa {1,2,3,4,99}

Cách nhanh nhất để làm như vậy là gì? Vấn đề của tôi là đọc nhiều số mà không cần lặp qua toàn bộ chuỗi kiểm tra xem đó là không gian hay số?

Thanks.

Deepu

7.5544 Huy hiệu vàng24 Huy hiệu bạc47 Huy hiệu đồng4 gold badges24 silver badges47 bronze badges

hỏi ngày 29 tháng 3 năm 2010 lúc 17:05Mar 29, 2010 at 17:05

0

int i, size;
int *v;
scanf["%d", &size];
v = malloc[size * sizeof[int]];
for[i=0; i < size; i++]
    scanf["%d", &v[i]];

Hãy nhớ free[v] sau khi bạn hoàn thành!

Ngoài ra, nếu vì một lý do nào đó bạn đã có các số trong một chuỗi, bạn có thể sử dụng sscanf[]

Đã trả lời ngày 29 tháng 3 năm 2010 lúc 17:12Mar 29, 2010 at 17:12

Denilson Sá Maidenilson Sá MaiaDenilson Sá Maia

45.4K32 Huy hiệu vàng103 Huy hiệu bạc111 Huy hiệu đồng32 gold badges103 silver badges111 bronze badges

7

Ở đây 'n' là số phần tử mảng của mảng 'A'

int N, A[N];
printf["Input no of element in array A: "];
scanf["%d", &N];
printf[ "You entered: %d\n", N];
printf["Input array A elements in one line: "];
for[int i=0; i

Bài Viết Liên Quan

Chủ Đề