Trong ngôn ngữ lập trình C, các mảng được định nghĩa như sau:
int foo[] = {4, 8, 15, 16, 23, 42}; //Foo implicitly has a size of 6
Kích thước của mảng được suy ra từ các phần tử khởi tạo, trong trường hợp này là 6. Bạn cũng có thể viết một mảng C theo cách này, định cỡ rõ ràng sau đó xác định từng phần tử theo thứ tự:
int foo[6]; //Give the array an explicit size of 6
foo[0] = 4;
foo[1] = 8;
foo[2] = 15;
foo[3] = 16;
foo[4] = 23;
foo[5] = 42;
Các thách thức
Bạn phải viết một chương trình hoặc hàm mở rộng mảng từ cách thứ nhất sang cách thứ hai. Vì bạn đang viết một chương trình để làm cho mã dài hơn và bạn thích sự mỉa mai, bạn phải làm cho mã của mình càng ngắn càng tốt.
Đầu vào sẽ là một chuỗi đại diện cho mảng ban đầu và đầu ra sẽ là định nghĩa mảng mở rộng. Bạn có thể giả định một cách an toàn rằng đầu vào sẽ luôn trông như thế này:
<type> <array_name>[] = {<int>, <int>, <int> ... };
"Loại" và "mảng_name" sẽ tạo thành hoàn toàn các ký tự bảng chữ cái và dấu gạch dưới _
. Các yếu tố của danh sách sẽ luôn là một số trong phạm vi -2,147,483,648 đến 2,147,483,647. Đầu vào ở bất kỳ định dạng nào khác không cần phải xử lý.
Khoảng trắng trong đầu ra của bạn phải khớp chính xác với khoảng trắng trong đầu ra thử nghiệm, mặc dù một dòng mới được cho phép.
Kiểm tra IO:
#in
short array[] = {4, 3, 2, 1};
#out
short array[4];
array[0] = 4;
array[1] = 3;
array[2] = 2;
array[3] = 1;
#in
spam EGGS[] = {42};
#out
spam EGGS[1];
EGGS[0] = 42;
#in
terrible_long_type_name awful_array_name[] = {7, -8, 1337, 0, 13};
#out
terrible_long_type_name awful_array_name[5];
awful_array_name[0] = 7;
awful_array_name[1] = -8;
awful_array_name[2] = 1337;
awful_array_name[3] = 0;
awful_array_name[4] = 13;
Đệ trình bằng bất kỳ ngôn ngữ nào đều được khuyến khích, nhưng điểm thưởng nếu bạn có thể thực hiện bằng C.
Bảng xếp hạng:
Dưới đây là bảng xếp hạng hiển thị các câu trả lời hàng đầu:
foo[0]=1;
được chấp nhận?