C语言程序设计现代方法第二版,第六章课后编程题全部答案(缺第10题)

已验证通过编译,但不保证在细节上不存在遗漏,仅供参考

2.1

#include <stdio.h>

int main (void)
{
	float num, max = 0.0f;
	printf ("Enter a number: ");
	scanf ("%f", &num);
	
	for (; num > 0.0f; ) {
		if (num > max) 
			max = num;
		printf ("Enter a number: ");
		scanf ("%f", &num);
	}
	
	printf ("The largest number entered was %.2f", max);   
	
	return 0;	
} 

2.2

#include <stdio.h>

int main (void)
{
	int m, n;
	int temp = 0;
	
	printf ("Enter two integers: ");
	scanf ("%d%d", &m, &n);
	
	while (n != 0) {
		temp = n;
		n = m % n;
		m = temp;	
	}
	
	printf ("Greatest common divisor: %d", m);
	
	return 0;
} 

2.3

#include <stdio.h>

int main (void)
{
	int denom, num;
	int n, m;
	int temp;
	
	printf ("Enter a fraction: ");
	scanf ("%d/%d", &num, &denom);
	
	m = denom;
	n = num;
	while (n != 0) {
		temp = n;
		n = m % n;
		m = temp;
	} 
	
	denom = denom / m;
	num = num / m;
	
	printf ("In lowest terms: %d/%d", num, denom);
	
	return 0;
}

2.4

#include <stdio.h>

int main (void)
{
	float value, commission = 0.0f;
	
	printf ("Enter value of trade: ");
	scanf ("%f", &value);
	
	while (value != 0.0f) {
		if (value < 2500.0f){
			commission = 30.0f + 0.017f * value;
		} else if (value < 6250.0f) {
			commission = 56.0f + 0.0066f * value;
		} else if (value < 20000.0f) {
			commission = 76.0f + 0.0034f * value;
		} else if (value < 50000.0f) {
			commission = 100.0f + 0.0022f * value;
		} else if (value < 500000.0f) {
			commission = 155.0f + 0.0011f * value;
		} else {
			commission = 255.0f + 0.0009f * value;
		}
		if (commission < 39) commission = 39;
		
		printf ("Commission: $%.2f\n\n", commission);
		
		printf ("Enter value of trade: ");
		scanf ("%f", &value);
	}

	
	return 0;	
} 

2.5

#include <stdio.h>

int main (void)
{
	int num;
	int remainder;
	
	printf ("Enter a number: ");
	scanf ("%d", &num);
	
	printf ("The reversal is: ");
	while (num != 0) {
		remainder = num % 10;
		num = num / 10;
		printf ("%d", remainder);
	}
	
	return 0;
}

2.6

#include <stdio.h>

int main (void)
{
	int num;
	printf ("Enter a number: ");
	scanf ("%d", &num);
	
	for (int i = 2; i * i <= num; i = i + 2) {
		
		printf ("%d\n", i * i);
	}
	
	return 0;
}

2.7

#include <stdio.h>

int main (void)
{
	int n, odd, square;
	
	printf ("This program prints a table of squares.\n");
	printf ("Enter number of entries in table: ");
	scanf ("%d", &n);
	
	odd = 3;
	for (int i = 1, square = 1; i <= n; odd += 2, ++i) {
		printf ("%10d%10d\n", i, square);
		square += odd;
	}
	
	return 0;
}

2.8

#include <stdio.h>

int main (void)
{
	int day, week;
	
	printf ("Enter number of days in month: ");
	scanf ("%d", &day);
	printf ("Enter starting day of the week (1=Sun, 7=Sat): ");
	scanf ("%d", &week);
	
	for (int i = week; i > 1; i--) printf ("   ");
	for (int i = 1; i <= day; i++, week++) {
		printf ("%3d", i);
		if (week == 7) {
			week = 0;
			printf ("\n");	
		}
	}
	
	return 0;
}

2.9

#include <stdio.h>

int main (void)
{
	float money, rate, payment; 
	
	printf ("Enter amount of loan:");
	scanf ("%f", &money);
	printf ("Enter interest rate:");
	scanf ("%f", &rate);
	printf ("Enter monthly payment:");
	scanf ("%f", &payment);
	
	int num;
	printf ("Enter the number of repayments:(1~10) ");
	scanf ("%d", &num); 
	 
	 
	for (int i = 1; i <= num; i++){
		printf ("Balance remaining after ");
		switch (i) {
			case 1: printf ("1st"); break;
			case 2: printf ("2nd"); break;
			case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10:
				printf ("%dth", i);
				break;
		}
		printf (" payment:%.2f\n", money = ((money - payment) + (money * rate * 0.01/ 12)));
	}
	
	return 0;
}

2.10

不会,嘿嘿

2.11

#include <stdio.h>

int main (void)
{
	int n;
	float sum = 1.0f;
	int temp;
	
	printf ("Enter the number: ");
	scanf ("%d", &n);
	
	for (int i = 1; i <= n; i++) {
		temp = 1;
		for (int j = i ; j >= 1; j--) {
			temp *= j;
		}
		sum += 1.0f / temp;
	}
	
	printf ("The value of e is: %f", sum);
	
	return 0;
 } 

2.12

#include <stdio.h>

int main (void)
{
	float m;
	float sum = 1.0f;
	int temp;
	
	printf ("Enter the number: ");
	scanf ("%f", &m);
	
	for (int i = 1; ; i++) {
		temp = 1;
		for (int j = i ; j >= 1; j--) {
			temp *= j;
		}
		
		if (1.0f / temp <= m) break;
		
		sum += 1.0f / temp;
		
	}
	
	printf ("The value of e is: %f", sum);
	
	return 0;
 } 




猜你喜欢

转载自blog.csdn.net/qq_28012069/article/details/80569352