C语言 练习作业

EX01

EX01

1
2
3
4
5
6
#include <stdio.h>

int main(int argc, char const *argv[]) {
printf("This is my first program!");
return 0;
}
1
2
3
4
5
6
#include <stdio.h>

int main(int argc, char const *argv[]) {
printf("This is my second program!");
return 0;
}
1
2
3
4
5
6
7
8
9
#include <stdio.h>

int main(int argc, char const *argv[]) {
printf("1 ");
printf("2 ");
printf("3 ");
printf("4 ");
return 0;
}
1
2
3
4
5
6
#include <stdio.h>

int main(int argc, char const *argv[]) {
printf("1 2 3 4 ");
return 0;
}
1
2
3
4
5
6
#include <stdio.h>

int main(int argc, char const *argv[]) {
printf("%d %d %d %d", 1, 2, 3, 4);
return 0;
}
1
2
3
4
5
6
#include <stdio.h>

int main(int argc, char const *argv[]) {
printf("The number of minutes in 15 days is %d.", 15 * 24 * 60);
return 0;
}
1
2
3
4
5
6
#include <stdio.h>

int main(int argc, char const *argv[]) {
printf("180 minutes equal to %d hours.", 180 / 60);
return 0;
}
1
2
3
4
5
6
#include <stdio.h>

int main(int argc, char const *argv[]) {
printf("174 minutes: %d hours and %d minutes", 174 / 60, 174 % 60);
return 0;
}

EX02

EX02

1
2
3
4
5
6
#include <stdio.h>

int main(int argc, char const *argv[]) {
printf("Net price is 889 $, sales tax rate is 6%.\nSo the total purchase price is %f $.", 889 * 1.06);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>

int main(int argc, char const *argv[]) {
float radius = 0, pi = 3.14159;
printf("Please input radius:\n");
scanf("%f", &radius);
printf("The diameter of this circle is %f\n", radius * 2);
printf("The circumference of this circle is %f\n", 2 * pi * radius);
printf("The area of this circle is %f\n", pi * radius * radius);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>

int main(int argc, char const *argv[]) {
float startingBalance, interestrate;
printf("Interest calculation programnStarting balance ?\n");
scanf("%f", &startingBalance);
printf("Annual interest rate percntage ?\n");
scanf("%f", &interestrate);
printf("Balance after one year: %f", startingBalance * (1 + interestrate / 100));
return 0;
}

EX03

EX03

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>

int main(int argc, char const *argv[]) {
int grade = 0;
printf("Input student's grade:\n");
scanf("%d", &grade);
if (grade >= 0 && grade < 60) {
printf("Failed!");
} else if (grade >= 60 && grade <= 100) {
printf("Passed!");
} else {
printf("Error!");
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>

int main(int argc, char const *argv[]) {
int num = 0;
printf("Please input an integer number:\n");
scanf("%d", &num);
if (num < 0) {
num = -num;
}
if (num % 2 == 1) {
printf("Odd number!");
} else {
printf("Even number!");
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>

int main(int argc, char const *argv[]) {
int a = 0, b = 0, c = 0;
printf("Input three integer numbers.\nThe first:\n");
scanf("%d", &a);
printf("The second:\n");
scanf("%d", &b);
printf("The third:\n");
scanf("%d", &c);
a = a > b ? a : b;
a = a > c ? a : c;
printf("The largest number is %d", a);
return 0;
}

EX04

EX04

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <stdio.h>

int main(int argc, char const *argv[]) {
int day, month, year;
printf("This program help you to transfer date.\n");
while (true) {
printf("Please input date: (For example: 1996 08 16)\n");
scanf("%d %d %d", &year, &month, &day);
if (year < 0 || month < 0 || month >12 || day < 0 || day >31) {
printf("You have input an wrong date!\n");
continue;
}
if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30) {
printf("You have input an wrong date!\n");
continue;
}
if (month == 2) {
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
if (day > 29) {
printf("You have input an wrong date!\n");
continue;
}
}
if (day > 28) {
printf("You have input an wrong date!\n");
continue;
}
}
break;
}
switch (day) {
case 1:
case 21:
case 31:
printf("%dst ", day);
break;
case 2:
case 22:
printf("%dnd ", day);
break;
case 3:
case 23:
printf("%drd ", day);
break;
default:
printf("%dth ", day);
}
switch (month) {
case 1:
printf("January ");
break;
case 2:
printf("February ");
break;
case 3:
printf("March ");
break;
case 4:
printf("April ");
break;
case 5:
printf("May ");
break;
case 6:
printf("June ");
break;
case 7:
printf("July ");
break;
case 8:
printf("August ");
break;
case 9:
printf("September ");
break;
case 10:
printf("October ");
break;
case 11:
printf("Novenber ");
break;
case 12:
printf("December ");
}
printf("%d", year);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>

int main(int argc, char const *argv[]) {
int total = 0, i = 2;
printf("This program calculates 2+4+6+8+...+30.\n");
while (i <= 30) {
total += i;
i += 2;
}
printf("The total is %d\n", total);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>

int main(int argc, char const *argv[]) {
float sales = 0;
while (true) {
printf("Enter sales in pound(enter -1 to end):\n");
scanf("%f", &sales);
if(sales < 0) {
break;
} else {
printf("Salary is %.2f\n", 200 + sales * 0.09);
}
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdio.h>

int main(int argc, char const *argv[]) {
int pronum, quantity;
float value;
printf("Product Number Retail Price(in pounds)\n 1 2.98\n 2 4.50\n 3 9.98\n 4 4.49\n 5 6.87\n");
while (true) {
printf("Please type in Product number and the quantity sold for one day: (-1 to end)\n");
scanf("%d", &pronum);
if (pronum < 0) {
break;
}
scanf("%d", &quantity);
switch (pronum) {
case 1:
value += 2.98 * quantity;
break;
case 2:
value += 4.50 * quantity;
break;
case 3:
value += 9.98 * quantity;
break;
case 4:
value += 4.49 * quantity;
break;
case 5:
value += 6.87 * quantity;
break;
default:
printf("You have typed in wrong data!\n");
}
}
printf("Total is %f", value);
return 0;
}

EX05

EX05

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <math.h>

int main(int argc, char const *argv[]) {
int i = 1;
do {
printf("%4.0f\n", pow(2, i));
i++;
} while(i < 11);
return 0;
}
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <math.h>

int main(int argc, char const *argv[]) {
for (int i = 0; i < 11; i++) {
printf("%4.0f\n", pow(2, i));
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <math.h>

int main(int argc, char const *argv[]) {
int num = 0, odd = 0, i = 0;
double pi = 0;
printf("This program calculates constant π by the infinite series:nπ=4-4/3+4/5-4/7+4/9-4/11...\nHow many terms do you want to calculate?\n");
scanf("%d", &num);
do {
odd = 2 * i + 1;
pi = pi + 4 / (pow(-1, i) * odd);
i++;
} while(i < num);
printf("Result is %f\n", pi);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char const *argv[]) {
for (int i = 4; abs(i) <= 4; i--) {
for (int j = 1; j <= abs(i); j++) {
printf(" ");
}
for (int j = 1; j <= 9 - abs(i) * 2; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>

int main(int argc, char const *argv[]) {
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
printf("%d*%d=%2d", i, j, i * j);
}
printf("\n");
}
return 0;
}

EX06

EX06

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>

void main(int argc, char const *argv[]) {
int iNter = 0, round_to_nearest(float);
float num = 0;
while (true) {
printf("This program will round the number you have input to the nearest integer.(Input 0 to exit)\nPlease input:\n");
scanf("%f", &num);
if (num == 0) {
printf("Bye!");
exit(0);
} else if (num < 0) {
num = -num;
iNter = round_to_nearest(num);
printf("%d\n", -iNter);
} else {
iNter = round_to_nearest(num);
printf("%d\n", iNter);
}
}
}

int round_to_nearest(float n) {
return (int) (n + 0.5);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>

int main(int argc, char const *argv[]) {
float larger(float, float);
float a, b, c, d, e, f, total;
printf("This program will ask you for three pairs of numbers, and will help you adds the larger of each pair.\nPlease input the first pair:(e.g. 9.99 10.01)\n");
scanf("%f %f", &a, &b);
printf("The second pair:\n");
scanf("%f %f", &c, &d);
printf("The third pair:\n");
scanf("%f %f", &e, &f);
total = larger(a, b) + larger(c, d) + larger(e, f);
printf("Total is %f", total);
return 0;
}

float larger(float x, float y){
return (x > y ? x : y);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
#include <math.h>

int main(int argc, char const *argv[]) {
float time1, time2, time3, fee1, fee2, fee3, calcCharge(float);
printf("This program help you calculate the parking charges for each of 3 customers.\nPlease input how many hours the first customer have parked car:(hours)\n");
scanf("%f", &time1);
printf("The second:\n");
scanf("%f", &time2);
printf("The third:\n");
scanf("%f", &time3);
if (time1 <= 0 || time2 <= 0 || time3 <= 0 || time1 >24 || time2 > 24 || time3 > 24) {
printf("You have input wrong data! Please open this program again.\n");
} else {
fee1 = calcCharge(time1);
fee2 = calcCharge(time2);
fee3 = calcCharge(time3);
printf("Car Hours Charge\n");
printf("1%10.1f%7.2f\n", time1, fee1);
printf("2%10.1f%7.2f\n", time2, fee2);
printf("3%10.1f%7.2f\n", time3, fee3);
printf("TOTAL%6.1f%7.2f", time1 + time2 + time3, fee1 + fee2 + fee3);
}
return 0;
}

float calcCharge(float hours) {
float charge;
hours = (float) ceil(hours);
charge = (hours + 1) * 0.5;
if (charge < 2) {
return 2;
}
if (charge > 10) {
return 10;
}
return charge;
}

EX07

EX07

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>

int main(int argc, char const *argv[]) {
int num, evenNum(int);
printf("Please input an integer: (Crtl+Z to stop)\n");
while (scanf("%d", &num) != EOF) {
if (evenNum(num)) {
printf("%d is an even number!\n", num);
}
printf("Next integer:\n");
}
return 0;
}

int evenNum(int a) {
return (a + 1) % 2;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>

int main(int argc, char const *argv[]) {
int a ,b, integerPower1(int, int);
printf("Please input base and exponent:\n");
scanf("%d %d", &a, &b);
printf("Result is %d", integerPower1(a, b));
return 0;
}

int integerPower1(int a, int b) {
int sum = 1;
for (int i = 1; i <= b; i++) {
sum *= a;
}
return sum;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>

int main(int argc, char const *argv[]) {
int a, b, integerPower2(int, int);
printf("Please input base and exponent:\n");
scanf("%d %d", &a, &b);
printf("Result is %d", integerPower2(a, b));
return 0;
}

int integerPower2(int m, int n) {
if (!n) {
return 1;
} else {
return m * integerPower2(m, n - 1);
}
}

EX08

EX08

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>

int main(int argc, char const *argv[]) {
int num[10];
float avg = 0;
for (int i = 0; i < 10; i++) {
printf("Please input an integer:\n");
scanf("%d", &num[i]);
}
for (int i = 0; i < 10; i++) {
avg += num[i];
}
printf("Average is %f", avg / 10);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>

int main(int argc, char const *argv[]) {
int a[2][5], max1, max2, min1, min2, max, min;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 5; j++) {
scanf("%d", &a[i][j]);
}
}
max1 = min1 = a[0][0];
for (int j = 0; j < 5; j++) {
max1 = max1 > a[0][j] ? max1 : a[0][j];
min1 = min1 < a[0][j] ? min1 : a[0][j];
}
max2 = min2 = a[1][0];
for (int j = 0; j < 5; j++) {
max2 = max2 > a[1][j] ? max2 : a[1][j];
min2 = min2 < a[1][j] ? min2 : a[1][j];
}
max = max1 > max2 ? max1 : max2;
min = min1 < min2 ? min1 : min2;
printf("The maximum in row 1 is %d\n", max1);
printf("The minimun in row i is %d\n", min1);
printf("The maximum in row 2 is %d\n", max2);
printf("The minimun in row 2 is %d\n", min2);
printf("The maximun is %dn", max);
printf("The minimun is %dn", min);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>

int main(int argc, char const *argv[]) {
int i = 0, number[20];
do {
printf("Please type in an integer between 10 and 100 inclusive:\n");
scanf("%d", &number[i]);
if (number[i] >= 10 && number[i] <= 100) {
if (i == 0) {
i++;
continue;
}
for (int j = 0; j < i; j++) {
if (number[i] == number[j]) {
printf("Same number: %d\n", number[i]);
break;
}
}
} else {
continue;
}
i++;
} while(i < 11);
return 0;
}

EX09

EX09

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>

int main(int argc, char const *argv[]) {
int dist[5];
char towns[5][81], linein[81];
for (int i = 0; i < 5; i++) {
printf("Please type in the town's name and its distance to London:\n");
gets(linein);
sscanf(linein, "%s %d", towns[i], &dist[i]);
}
for (int i = 0; i < 5; i++) {
if (dist[i] < 100) {
printf("%s to London is less than 100 miles.\n", towns[i]);
}
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <string.h>

int main(int argc, char const *argv[]) {
int eofs;
char linein[81];
printf("Type in a string:\n");
gets(linein);
for (int i = 0; linein[i] != '\0'; i++) {
eofs = i - 1;
}
for (int i = eofs; i >= 0; i--) {
if (linein[i] == ' ') {
for (int j = i + 1; linein[j] != '\0' && linein[j] != ' '; j++) {
printf("%c", linein[j]);
}
printf(" ");
}
}
for (int i = 0; linein[i] != '\0' && linein[i] != ' '; i++) {
printf("%c", linein[i]);
}
printf("\n");
for (int i = 0; linein[i] != '\0'; i++) {
if (linein[i] == ' ') {
for (int j = i - 1; j >= 0 && linein[j] != ' '; j--) {
printf("%c", linein[j]);
}
printf(" ");
}
}
for (int j = i - 1; j >= 0 && linein[j] != ' '; j--) {
printf("%c", linein[j]);
}
printf("\n");
for (int i = eofs; i >= 0; i--) {
printf("%c", linein[i]);
}
return 0;
}

EX10

EX10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>

int main(int argc, char const *argv[]) {
int num[5], *p;
for (int i = 0; i < 5; i++) {
printf("Please type in an integer:\n");
scanf("%d", &num[i]);
}
printf("First:\n");
for (int i = 4; i >= 0; i--) {
printf("%d\n", num[i]);
}
printf("Second:\n");
for (int i = 0; i >= 0; i--) {
printf("%d\n", *(num + i));
}
p = num;
printf("Third:\n");
for (int i = 0; i >= 0; i--) {
printf("%d\n", p[i]);
}
printf("Fourth:\n");
for (int i = 4; i >= 0; i--) {
printf("%d\n", *(p + i));
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>

int main(int argc, char const *argv[]) {
float num[8], sum;
for (int i = 0; i < 8; i++) {
printf("Please type in a float number:\n");
scanf("%f", &num[i]);
}
for (int i = 1; i < 8; i += 2) {
printf("%d: %f\n", i + 1, *(num + i));
}
for (int i = 0; i < 8; i += 2) {
sum += *(num + i);
}
printf("Sum is %f", sum);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>

int main(int argc, char const *argv[]) {
int num[6], maxmin(int[], int);
for (int i = 0; i < 6; i++) {
printf("Please type in an integer:\n");
scanf("%d", &num[i]);
}
maxmin(num, 6);
return 0;
}

int maxmin(int number[], int n) {
int max, min;
max = min = number[0];
for (int i = 1; i < n; i++) {
max = max > number[i] ? max : number[i];
min = min < number[i] ? min : number[i];
}
printf("max = %d\nmin = %d", max, min);
return 0;
}

EX11

EX11

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>

int main(int argc, char const *argv[]) {
float annualSalary[5], monthlySalary[5];
char name[5][81], linein[81];
FILE *fp;
for (int i = 0; i < 5; i++) {
printf("Please type in employee's name and annual salary:\n");
gets(linein);
sscanf(linein, "%s %f", &name[i], &annualSalary[i]);
}
fp = fopen("salary.txt", "a+");
fprintf(fp, "No. Employee's Name Annual Salary Monthly payment after tax\n");
for (int i = 0; i < 5; i++) {
monthlySalary[i] = annualSalary[i] / 12 * 0.8;
fprintf(fp, "%2d %15s %13.3f %25.3f\n", i + 1, name[i], annualSalary[i], monthlySalary[i]);
}
fclose(fp);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>

int main(int argc, char const *argv[]) {
int distance[20];
char line1[20][81], linein[81];
FILE *fp;
for(int i = 0; i < 20; i++) {
printf("Please type in No.%2d town's name and the distance from London:\n", i + 1);
gets(linein);
sscanf(linein, "%s %d", &line1[i], &distance[i]);
}
fp = fopen("data.txt", "a+");
fprintf(fp, "No. Town's Name Distance from London\n");
for(int i = 0; i < 20; i++) {
fprintf(fp, "%2d %11s %20d\n", i + 1, line1[i], distance[i]);
}
fclose(fp);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>

int main(int argc, char const *argv[]) {
int j, distance[20];
char line1[20][81];
FILE *input, *output;
input = fopen("data.txt", "r");
output = fopen("newdata.txt", "a+");
fseek(input, 42, SEEK_SET);
fprintf(output, "No. Town's Name Distance from London\n");
for(int i = 0; i < 20; i++) {
fscanf(input, "%2d %11s %20d", &j, &line1[i], &distance[i]);
if(distance[i] < 100) {
fprintf(output, "%2d %11s %20d\n", i + 1, line1[i], distance[i]);
}
}
fclose(input);
fclose(output);
return 0;
}
  • Post author: 问少
  • Post link: https://real-neo.me/BBU4161.html
  • Copyright Notice: All articles in this blog are licensed under BY-NC-SA unless stating additionally.
0%