>> ลำโพง 1: ลองเขียนโปรแกรมที่ แจ้งให้ผู้ใช้ที่เป็นบวก
จำนวนเต็ม n แล้​​วพิมพ์ออก ผลรวมของตัวเลขทั้งหมด
ระหว่าง 1 และ n
ดีที่นี่เรามีหลักซึ่งฉันได้ เขียนแล้วล่วงหน้า
และแจ้งให้ทราบที่นี่ที่ด้านบนของ หลักผมประกาศ n int
>> จากนั้นผมก็ภายในของในขณะที่ทำ ห่วงพิมพ์แรกที่ออก
จำนวนเต็มบวกโปรด
แล้วฉันจะดำเนินการต่อไปที่จะได้รับจำนวนเต็มตั้งแต่ ผู้ใช้ที่มีได้รับห้องสมุด CS50
ฟังก์ชั่น int
แล้วในขณะที่อยู่ในสภาพของฉันที่นี่ฉัน ให้แน่ใจว่า n คือมากกว่าหรือ
เท่ากับ 1 ก่อนที่จะดำเนินการจริง ที่จะทำสิ่งที่มีค่าที่
>> ฉันจะทำอะไรต่อไป
ดีฉันเรียกใช้ฟังก์ชันที่ฉันจะ ที่จะเรียกซิกตัวแทนของ
ซิกทุนที่คุณอาจมี จำได้จากชั้นเรียนคณิตศาสตร์ที่
แสดงว่าคุณต้องการที่จะสรุปอะไรบางอย่าง จากค่าหนึ่งไปยังอีก
และผลตอบแทนการทำงานเป็นสิ่งที่ ค่าตอบแทนของฉันจะเก็บ
ในตัวแปรที่เรียกว่าคำตอบ
>> สุดท้ายในบรรทัดสุดท้ายของฉันในหลักฉัน จะพิมพ์สิ่งที่เป็นคำตอบ
แน่นอนเรายังไม่ได้ดำเนินการยัง ซิกฟังก์ชั่นนี้
ดังนั้นเราจะไปเกี่ยวกับการทำเช่นนั้นได้อย่างไร
>> ดีที่ด้านล่างของไฟล์ของฉันฉัน จะดำเนินการประกาศฟังก์ชัน
ที่ส่งกลับ int
และฉันจะเรียก ซิกฟังก์ชั่นที่
และฉันจะระบุว่าเป็นอินพุท ฟังก์ชั่นที่ยังยอมรับ int
และฉันจะเรียกว่าเพียงแค่เป็น ที่แตกต่างเมตรแทน n
แต่เราอาจจะเรียกมันว่า อะไรที่สุดที่เราต้องการ
>> ภายในของร่างกายของฟังก์ชั่นนี้ผม จะดำเนินการต่อไปใช้คุ้นเคย
สร้างคือวง
แต่ฉันยังจะทำบิตของการมีสุขภาพจิตดี การตรวจสอบเพื่อให้แน่ใจว่า
ผู้ใช้ไม่ได้ให้ฉันกับจำนวน ที่ผมไม่ได้คาดหวัง
โดยเฉพาะอย่างยิ่งที่ฉันจะทำอย่างไรถ้า m คือ น้อยกว่า 1 และค่อนข้างพล
ฉันก็จะกลับ 0 ถ้า จำนวนไม่ได้เป็นเชิงบวก
เลขที่ผมคาดหวัง
>> แล้วฉันจะประกาศตัวแปร เรียกว่าผลรวมและเริ่มต้นมันถึง 0
ในท้ายที่สุดนี้จะเก็บผลรวมของ ทั้งหมดของตัวเลขระหว่าง 1 และ ม.
แล้วฉันจะใช้คุ้นเคย สร้างห่วงไปข้างหน้า
สำหรับ int i ได้รับ 1, i น้อยกว่า หรือเท่ากับเมตรฉันบวกบวก
แล้วภายในร่างกายนี้ ห่วงฉันก็จะทำผลรวม
เท่ากับผลรวมบวกฉัน
หรือมากกว่าเพียงผลรวมบวกเท่ากับฉัน ซึ่งประสบความสำเร็จในผลเดียวกัน
>> และแล้วในที่สุดก็ต้องกลับมา ผลรวมที่ผมเคยคำนวณ
ดังนั้นฉันจะเพิ่มผลตอบแทนในผลรวม
>> ตอนนี้ฉันยังไม่ได้ทำ
ฉันต้องการที่จะสอน C ที่นี้ ฟังก์ชั่นจริงแล้ว
และอื่น ๆ บนแฟ้มของฉันที่ฉันจะประกาศ สิ่งที่เราได้เรียกว่าฟังก์ชั่น
ต้นแบบเหมือนกันกับลายเซ็น ที่ฉันใช้เมื่อกำหนดฟังก์ชั่น
เมื่อกี้
>> โดยเฉพาะเหนือหลัก ฉันจะพิมพ์ int
ซิก, int เมตรอัฒภาค
ไม่ดำเนินการฟังก์ชั่น อีกครั้งเพียงการประกาศว่า
ถ้าตอนนี้ฉันบันทึกรวบรวมและใช้นี้ โปรแกรมเรามาดูสิ่งที่ผมได้รับ
ทำให้ซิก 0 จุดเฉือนซิก 0
และตอนนี้ขอให้เป็นจำนวนเต็มบวก เช่น 2 ซึ่งควรให้ฉัน
สามเนื่องจากค่าระหว่าง 1 และ 2 เป็น 1 บวก 2 เท่ากับ 3
และแน่นอนว่าเป็นสิ่งที่ฉันได้รับ
>> ลองใช้มันอีกครั้งนี้ เวลาที่มีการพูด, 3
ดังนั้นผมควรจะได้รับ 1 บวก 2 บวก 3 ควรให้ฉัน 6
และแน่นอนฉันจะได้รับ 6
>> และให้ลองค่าสุดท้ายพูด 50
และ 1,275 เป็นคำตอบของเรา