CMSC 104, Spring 2007
Homework 3
Your First C Program
Out:Thursday, March 15
Due:Tuesday, March 27, before 11:59 p.m.
Note: No late projects will be accepted.
The Objective
- To learn to use the gcc compiler
- To become familiar with syntax error messages generated by the gcc compiler
The Task
- For the first part of the assignment, you must complete the program attached to this sheet (to be distributed in class) by filling in the blanks where pieces of code are missing.
- After filling in the blanks, you are ready to move on to the second
part of the assignment. For the second part, use xemacs to type
in the C program. Type it in EXACTLY AS SHOWN, including all spacing and
indentation. Some exceptions:
- Insert YOUR name as the author.
- Insert YOUR e-mail address.
- Insert YOUR section.
- You do not have to have the exact number of *'s in the file header comment.
Make sure to save the program with the filename
hw3.c
. - Compile the program using the command
gcc -ansi -Wall hw3.c
Correct any compilation errors or warnings (if any) that you receive and recompile until you receive no errors or warnings.
- Look at your directory to make sure that the file
a.out
is there. This is your executable program.
Sample Run
- Run the program a few times using different sets of
numbers to be sure that it works. To run your program,
type
a.out
at the prompt. You can assume the user will only input positive integers. Here is a sample run of the program:linux3[54]% ls hw3.c linux3[55]% gcc -ansi -Wall hw3.c linux3[56]% ls a.out hw3.c linux3[57]% a.out Please enter an integer: 7 Please enter another integer: 9 9 is larger than 7. The average of 7 and 9 is 8.000000. linux3[58]% a.out Please enter an integer: 9 Please enter another integer: 7 9 is larger than 7. The average of 9 and 7 is 8.000000. linux3[59]% a.out Please enter an integer: 7 Please enter another integer: 7 7 and 7 are equal. The average of 7 and 7 is 7.000000. linux3[60]% a.out Please enter an integer: 5 Please enter another integer: 9 9 is larger than 5. The average of 5 and 9 is 7.000000. linux3[61]% a.out Please enter an integer: 5 Please enter another integer: 8 8 is larger than 5. The average of 5 and 8 is 6.500000. linux3[62]%
Submitting the Program
You do not have to turn in the sheet you used to fill in the blanks. However, you do have to submit your source code. Your C source code file MUST be calledhw3.c
.
To submit your project, type the following at the Unix prompt.
Note that the project name starts with uppercase
'H'.
linux3[63]% submit cs104 Hw3 hw3.cTo verify that your project was submitted, you can execute the following command at the Unix prompt. It will show the file that you submitted in a format similar to the Unix 'ls' command.
linux3[64]% submitls cs104 Hw3
The Program
/************************************************************** ** Filename: hw3.c ** Author: put your name here ** Date Written: 3/15/07 ** Section: put your section here ** E-mail: put your umbc e-mail address here ** Description: This program reads in two numbers from ** the user and performs some statistical ** analysis on the numbers. **************************************************************/ #include _____________ int main() { int _______ = 0; /* The first number read in from the user */ int _______ = 0; /* The second number read in from the user */ float average = 0.0; /* The average of both numbers */ /* Read in an integer from the user */ printf("Please enter an integer: "); scanf("______", ________); /* Read in another integer from the user */ printf("Please enter another integer: "); scanf("______", ________); /* Determine and display which number is larger */ if( ________ > _______ ) { printf("%d is larger than %d.\n", _________, __________); } else if ( ___________ > ____________) { printf("%d is larger than %d.\n", _________, __________); } else { printf("%d and %d are equal. \n", _________, __________); } /* Calculate and display the average */ average = ___________________ / 2.0 ; printf("The average of %d and %d is _______.\n", num1, num2, average); return _________; }