ในภาษาการเขียนโปรแกรม C มีการกำหนดอาร์เรย์ดังนี้:
int foo[] = {4, 8, 15, 16, 23, 42}; //Foo implicitly has a size of 6
ขนาดของอาร์เรย์ถูกอนุมานจากองค์ประกอบการเริ่มต้นซึ่งในกรณีนี้คือ 6 คุณยังสามารถเขียนอาร์เรย์ C ด้วยวิธีนี้ปรับขนาดอย่างชัดเจนแล้วกำหนดขนาดองค์ประกอบตามลำดับ
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;
ความท้าทาย
คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ขยายอาร์เรย์จากวิธีแรกไปเป็นครั้งที่สอง เมื่อคุณเขียนโปรแกรมเพื่อสร้างรหัสให้ยาวขึ้นและคุณชอบประชดคุณต้องทำให้รหัสของคุณสั้นที่สุด
อินพุตจะเป็นสตริงที่แทนอาร์เรย์ดั้งเดิมและเอาต์พุตจะเป็นนิยามอาร์เรย์ที่ขยายเพิ่ม คุณสามารถสรุปได้ว่าอินพุตจะมีลักษณะดังนี้:
<type> <array_name>[] = {<int>, <int>, <int> ... };
"Type" และ "array_name" จะประกอบด้วยตัวอักษรและขีดล่าง_
ทั้งหมด องค์ประกอบของรายการจะเป็นตัวเลขในช่วง -2,147,483,648 ถึง 2,147,483,647 เสมอ อินพุตในรูปแบบอื่นไม่จำเป็นต้องได้รับการจัดการ
ช่องว่างในผลลัพธ์ของคุณจะต้องตรงกับช่องว่างในผลลัพธ์การทดสอบแม้ว่าบรรทัดใหม่ต่อท้ายจะได้รับอนุญาต
ทดสอบ 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;
สนับสนุนการส่งในภาษาใด ๆ แต่จะได้รับคะแนนโบนัสหากคุณสามารถทำได้ใน C
ลีดเดอร์บอร์ด:
นี่คือกระดานแต้มนำที่แสดงคำตอบยอดนิยม:
foo[0]=1;
ยอมรับได้หรือไม่