辅导 COMP281、讲解 C++编程语言
COMP281 2023-24 – Resit Exercise (29/July 2024)
• In the following, you will find the two problems that constitute the resit exercise. The problems will
also appear on the canvas site for COMP281 as “Resit Assignment”.
• For each problem you need to write a C program (not C++ or C#) that solves the problem – it must
read the input, as specified in the problem description then print the solution to the given problem for
that input.
o Note that code is “correct” only if it correctly implements a solution to the problem stated
in the assignment, not "if CodeGrade accepts it".
o That is, even if CodeGrade accepts your code, it could be wrong. Read the problem carefully.
o Even if your program does not work, good coding style etc. can still lead to a reasonable mark.
• Input is read from the standard input, in the same way that you read input from the keyboard as shown
in lectures (e.g., using scanf). Output is also printed to the standard output, as you have seen (e.g.,
using printf).
• You may develop your programs in CodeGrade directly, or by using a different development
environment. When you are satisfied that your C programs work correctly, you must make sure you
submit them through CodeGrade. Do not leave this until the last possible minute. Test with CodeGrade
well before the assignment deadline.
o Even if the programs are not correct, still submit whatever you have! You can still earn points
if certain parts of the code are programmed well.
• This assignment is worth 100% of the resit mark for COMP281.
o For problem one, you can earn a total of 25 points
§ 12 points for “Functionality and Correctness” awarded for programs that correctly
solve the problem for all test cases.
§ 13 points for “Programming style, use of comments, indentation and identifiers”
awarded depending on the style, comments and efficiency of the solution.
o For problem two, you can earn a total of 75 points
§ 35 points for “Functionality and Correctness” awarded for programs that correctly
solve the problem for all test cases.
§ 40 points for “Programming style, use of comments, indentation and identifiers”
awarded depending on the style, comments and efficiency of the solution.
o The final grade results from normalising the earned points to a scale of 100.
• Any resources that you use to help you develop the programs must be referenced in comments in the
code (e.g. use of Stack Overflow etc.). Do not use ChatGPT or other Generative AI tools to write your
code. Submission Instructions
• Please make sure that you have correctly submitted your final version through CodeGrade and that
your solutions are named correctly. Check the required names for your solutions below in the sections
for each of the two problems. Solutions that work, but which don’t compile and run in CodeGrade due
to having the wrong names will be marked as though they did not work.
• The deadline for this resit assignment submission is Friday 2th August 2024 @ 23:59
• Penalties for late submission apply in accordance with departmental policy as set out in the student
handbook, which can be found at: http://intranet.csc.liv.ac.uk/student/ug-handbook.pdf
Problem 1
Title: String Concatenation
Description
Write a program called resit_1.c that reads in two input strings, one per line, each of max length 100
characters. These two strings should then be concatenated together with a space character between
them and the resulting single string stored in memory in a char array whose size is exactly big enough
to hold it all. This final char array must be created using malloc/alloc etc. The resulting string should
then be printed out, with an additional newline at the end.
Note the only library you can use is the standard IO library, stdio.h. You must not use the string handling
functions in string.h. All string operations (string length, concatenation etc) must be provided by your own
code.
Input
Two strings (each of 100 characters at most), both on a separate line (i.e. a newline is entered after the first
string).
Output
The concatenated version of the two strings.
Sample Input
What is the weather like?
It’s quite cold and wet for the time of year.
Sample Output
What is the weather like? It’s quite cold and wet for the
time of year.
Problem 2
Title: Numbers into Words
Description
Write a program called resit_2.c that reads in an integer and outputs it, along with a textual version
of it in English. This process should repeat with another input integer until EOF is detected by your
program. Every input integer is guaranteed to be between 1 and 8 digits. CodeGrade will not supply
any data outside of this range.
To discover the rules for formatting the output, a web app has been made available (see link below). Using
this app you can enter integers that will be processed and output using the rules that you will need to follow.
Use the app to discover the rules for yourself.
If the app does not run on your browser, try restarting your browser, or use a different browser.
https://cgi.csc.liv.ac.uk/~phil/COMP281/
Input
An integer.
Output
The input integer, followed by an “arrow” and then a series of English words representing that integer.
Sample Input
10
Sample Output
10 => Ten
Note
If you wish to do so. you can use functions in the stdlib and stdio libraries. No other libraries (or header
files) are permitted.