c语言编程全部练习

  • 格式:doc
  • 大小:46.00 KB
  • 文档页数:8

命名文件和邮件名相同压缩包内文件无所谓在下周二上课前交Exercise 1: Programming Environment and Basic Input/Output1.Write a program that prints “This is my first program!” on the screen.(a)Save this program onto your own disk with the name of e2-1a;(b)Run this program without opening Turbo C;(c)Modify this program to print “This is my second program!”, thensave it as e2-1b. Please do not overwrite the first program.2.Write a program that prints the number 1 to 4 on the same line. Writethe program using the following methods:(a)Using four “printf” statements.(b)Using one “printf” statement with no conversion specifier . no‘%’).(c)Using one “printf” statement with four conversion specifiers3.(a) Write a program that calculates and displays the number of minutes in 15 days.(b) Write a program that calculates and displays how many hours 180 minutes equal to.(c) (Optional) How about 174 minutesExercise 2: Data Types and Arithmetic Operations1. You purchase a laptop computer for $889. The sales tax rate is 6 percent.Write and execute a C program that calculates and displays the total purchase price (net price + sales tax).2.Write a program that reads in the radius of a circle and prints the circle’s diameter, circumfe rence and area. Use the value for “”.3.Write a program that reads in two numbers: an account balance and an annual interest rate expressed as a percentage. Your program should then display the new balance after a year. There are no deposits or withdraws – just the interest payment. Your program should be able to reproduce the following sample run:Interest calculation program.Starting balance 6000Annual interest rate percentageBalance after one year:Exercise 3: Selection structure1.Write a C program that accepts a student’s numerical grade, converts the numerical grade to Passed (grade is between 60-100), Failed (grade is between 0-59), or Error (grade is less than 0 or greater than 100).2.Write a program that asks the user to enter an integer number, then tells the user whether it is an odd or even number.3.Write a program that reads in three integers and then determines and prints the largest in the group.Exercise 4: ‘switch’ statement and simple “while”repetition statement1. Write a program that reads three integers an abbreviated date (for example: 2612 94) and that will print the date in full; for example: 26th December 1994.The day should be followed by an appropriate suffix, ‘st’, ‘nd’, ‘rd’ or ‘th’. Use at least one switch statement.2.Write a C program that uses a while loop to calculate and print the sum of the even integers from 2 to 30.3. A large chemical company pays its sales staff on a commission basis. They receive£200 per week plus 9% of their gross sales for that week. For example, someone who sells £5000 of chemicals in one week will earn £200 plus 9% of £5000, a total of £650. Develop a C program that will input each salesperson’s sales for the previous week, and print out their salary. Process one person’s figures at a time.Enter sales in pounds (-1 to end):Salary is:Enter sales in pounds (-1 to end):Salary is:Enter sales in pounds (-1 to end):Salary is:Enter sales in pounds (-1 to end): -1Optional:两重的while4. A mail order company sells five different products whose retail prices are shownin the following table:Product Number Retail Price (in pounds)12345Write a C program that reads in a series of pairs of numbers as follows:(1). Product number(2). Quantity sold for one dayYour program should use a switch statement to help determine the retail price for each product, and should use a sentinel-controlled loop to calculate the total retail value of all products sold in a given week (7days).Exercise 5: ‘for’ and ‘do …while”repetition statements1. Write a program which uses a do/while loop to print out the first 10 powers of2 other than 0 (ie. it prints out the values of 21, 22, ..., 210). Use a forloop to do the same.2. The constant can be calculated by the infinite series:= 4 - 4/3 + 4/5 - 4/7 + 4/9 - 4/11 +....Write a C program that uses a do/while loop to calculate using the series. The program should ask the user how many terms in the series should be used. Thus if the user enters ‘3’, then the program should calculate as being 4 - 4/3 + 4/5.Nested repetition3. Write a program that prints the following diamond shape. You may use printf statements that print either a single asterisk (*) or a single blank. Maximize your use of repetition (with nested for statements) and minimize the number of printf statements.*****************************************4. Write a program to print a table as follows:1*1= 12*1= 2 2*2= 43*1= 3 3*2= 6 3*3= 9….9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81Exercise 6: Simple Functions1.Write a C program that reads several numbers and uses the functionround_to_nearest to round each of these numbers to the nearest integer. The program should print both the original number and the rounded number.2.Write a program that reads three pairs of numbers and adds the larger of thefirst pair, the larger of the second pair and the larger of the third pair. Usea function to return the larger of each pair.3. A car park charges a £ minimum fee to park for up to 3 hours, and an additional£ for each hour or part hour in excess of three hours. The maximum charge for any given 24-hour period is £. Assume that no car parks for more than 24 hours at a time.Write a C program that will calculate and print the parking charges for each of 3 customers who parked their car in the car park yesterday. The program should accept as input the number of hours that each customer has parked, and output the results in a neat tabular form, along with the total receipts from the three customers:Car Hours Charge123TOTALThe program should use the function calculate_charges to determine the charge for each customer.Exercise 7: More Functions1. Write a program that uses sentinel-controlled repetition to take an integeras input, and passes it to a function even which uses the modulus operator to determine if the integer is even. The function even should return 1 if the integer is even, and 0 if it is not.The program should take the value returned by the function even and use it to print out a message announcing whether or not the integer was even.2. Write a C program that uses the function integerPower1(base, exponent) to returnthe value of:exponentbaseso that, for example, integerPower1(3, 4) gives the value 3 * 3 * 3 * 3. Assume that exponent is a positive, non-zero integer, and base is an integer. The function should use a for loop, and make no calls to any math library functions.3. Write a C program that uses the recursive function integerPower2(base, exponent)to return the value of:exponentbaseso that, for example, integerPower2(3, 4) gives the value 3 * 3 * 3 * 3. Assume that exponent is a positive, non-zero integer, and base is an integer. The function should make no calls to any math library functions.(Hint: the recursive step will use the relationship:base exponent = base . base exponent - 1and the base case will be when exponent is 1 since : base 1 = base.)Exercise 8: Arrays1. Write a program that reads ten numbers supplied by the user into a singlesubscripted array, and then prints out the average of them.2. Write a program that reads ten numbers supplied by the user into a 2 by 5 array,and then prints out the maximum and minimum values held in:(a) each row (2 rows)(b) the whole array3. Use a single-subscripted array to solve the following problem. Read in 20 numbers,each of which is between 10 and 100, inclusive. As each number is read, print it only if it is not a duplicate of a number already read. Prepare for the “worst case ” in which all 20 numbers are different. Use the smallest possible array to solve this problem.Exercise 9: More Arrays1. Write a program that enters 5 names of towns and their respective distance (aninteger) from London in miles. The program will print of the names of the towns that are less than 100 miles from London. Use arrays and character strings to implement your program.2. Write a program that prompts the user to type in four character strings, placesthese in an array of strings, and then prints out: . I am Peter Pan)(i) The four strings in reverse order. . Pan Peter am I)(ii) The four strings in the original order, but with each string backwards. .I ma reteP naP)(iii) The four strings in reverse order with each string backwards. . naP reteP ma I)Exercise 10: Pointers1. Write a program that reads 5 integers into an array, and then uses fourdifferent methods of accessing the members of an array to print them out in reverse order.2. Write a program that reads 8 floats into an array and then prints outthe second, fourth, sixth and eighth members of the array, and the sum of the first, third, fifth and seventh, using pointers to access the members of the array.3. Write a program that use a SINGLE FUNCTION (用一个函数)to find andreturn simultaneously both the lowest and highest values in an array of type int. Suppose the size of the array is 6.Exercise 11: Files1. Write a program that enters the name and the annual salary of 5employees from the keyboard, calculates the monthly salary of each employee assuming that tax is deducted at a flat rate of 20%. The program prints the name, the annual salary and the monthly payment (net) of each employee in a file. The program adds an employee’s number to each employee before printing the names and values:No. Employee’s Name Annual salary Monthly payment after tax2.Write a program that builds a file with information for 20 towns. Each line in the file contains name of a town followed by the distance ofthe town from London in miles (an integer).3.Write a program reads the file created by the above program (in Question2) and prints the names of the towns that are less than 100 miles fromLondon to ANOTHER file.。