[HW-01] Square root approximation
1. Description
The square root of a number N can be approximated by repeated calculation using the formula:
NG = 0.5(LG + N/LG)
where
NG = next guess
LG = last guess
Write a function that calculates the square root of a number using this method. The initial
guess will be the starting value of LG = 1.0. The program needs to calculate a value of NG using
the given formula. It is considered to be the root is found when |NG-LG| < 0.005. In this case
NG is accepted as the square root: otherwise, the new guess (NG) becomes the last guess (LG)
and the process is repeated.
2. Output
Check the validity of all input values as shown in <Input handling example 1>.
※ note: Gray colored background area is where the user needs to input
<Input handling example 1>
Enter a number to find the square root value (0.01 ~ 1000000.00) : 4.0
Square root of 4.00 is : 2.000
Enter C/c for continue or Q/q for quit : C
Enter a number to find the square root value (0.01 ~ 1000000.00) : 5
Square root of 5.00 is : 2.336
Enter C/c for continue or Q/q for quit : Q
Program Terminating. Bye!
<Input handling example 2>
Enter a number to find the square root value (0.01 ~ 1000000.00) : 0
Not a valid number. Try again.
Enter a number to find the square root value (0.01 ~ 1000000.00) : 0.75
Square root of 0.75 is : 0.866
Enter C/c for continue or Q/q for quit : Q
Program Terminating. Bye!
2 / 6
3. Output Guidelines
1) Display a friendly message to explain the program.
2) Display a friendly message to receive input from user.
3) Display a friendly message for the invalid inputs.
4) Define macros as needed
5) Leave a space line after receiving the inputs and before the result is displayed.
6) Follow the format of the outputs shown in <example 1> and <example 2>.
<Supporting information>
When the inputs needs to be read several times in the program, there could be a input buffer issue that will
cause some trouble reading the input.
Use fflush() in the <stdio.h> or define a macro FLUSH in your program as below and use this before a new
input is read:
#define FLUSH while (getchar() != ‘\n’)
fflush() or FLUSH macro will empty the previous input line so that another input can read from a new input
line.
3 / 6
[HW-02] Prime Fibonacci number
1. Description
Write a program that checks whether the nth Fibonacci number is prime. Main function should call two subfunctions
to accomplish this task: one to find nth Fibonacci number and another one to find whether the
number is prime number.
2. Output
Check the validity of all input values as shown in <Input handling example 1>.
※ note: Gray colored background area is where the user needs to input
<Input handling example 1>
Enter a number to find whether nth Fibonacci number is prime (3 ~ 20) : 3
Fibonacci (3) = 3 is a prime number.
Enter C/c for continue or Q/q for quit : C
Enter a number to find whether nth Fibonacci number is prime (3 ~ 20) : 5
Fibonacci (5) = 8 is not a prime number.
Enter C/c for continue or Q/q for quit : Q
Program Terminating
<Input handling example 2>
Enter a number to find whether nth Fibonacci number is prime (3 ~ 20) : 2
Not a valid number. Try again.
Enter a number to find whether nth Fibonacci number is prime (3 ~ 20) : 5
Fibonacci (5) = 8 is not a prime number.
Enter C/c for continue or Q/q for quit : Q
Program Terminating
3. Output Guidelines
1) Display a friendly message to explain the program.
2) Display a friendly message to receive input from user.
4 / 6
3) Display a friendly message for the invalid inputs.
4) Leave a space line after receiving the inputs and before the result is displayed.
5) Follow the format of the outputs shown in <example 1> and <example 2>.
5 / 6
[HW-03] N Locker door problem
1. Description
N students are assigned lockers 1 through N. The student assigned to locker number 1 closes all N
lockers. The student assigned to locker number 2 then opens all lockers whose numbers are
multiples of 2. The student assigned to locker number 3 changes the status of all lockers whose
numbers are multiples of 3 (e.g. locker number 3, which is open gets closed, locker number 6, which
is closed, gets opened). The student assigned to locker number 4 changes the status of all locker
whose numbers are multiples of 4, and so on for all N lockers.
Write a program that read input N, process door alteration as described, and display the results as
shown in the output examples.
2. Output
Check the validity of the input value as shown in <Input handling example 1>.
※ note: Gray colored background area is where the user needs to input
<Input handling example 1>
Enter a number of lockers (1 ~ 1000): 5
Door 1 closed
Door 4 closed
There are 3 lockers open and 2 lockers closed.
Enter C/c for continue or Q/q for quit : C
Enter a number of lockers (1 ~ 1000): 10
Door 1 closed
Door 4 closed
Door 9 closed
There are 7 lockers open and 3 lockers closed.
Enter C/c for continue or Q/q for quit : Q
Program Terminating
<Input handling example 2>
6 / 6
Enter a number of lockers (1 ~ 1000): 0
Invalid input. Try again.
Enter a number of lockers (1 ~ 1000): 5
Door 1 closed
Door 4 closed
There are 3 lockers open and 2 lockers closed.
Enter C/c for continue or Q/q for quit : Q
Program Terminating
3. Output Guidelines
1) Display a friendly message to explain the program.
2) Display a friendly message to receive input from user.
3) Display a friendly message for the invalid inputs.
4) Leave a space line after receiving the inputs and before the result is displayed.
5) Follow the format of the outputs shown in <example 1> and <example 2>
http://www.daixie0.com/contents/14/1735.html
因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:99515681@qq.com
微信:codinghelp