C语言程序设计现代方法(第二版)练习答案(自学)第六章

文章展示了C语言中基本的控制结构,如循环、条件判断,以及针对数值(整数和浮点数)进行计算、求最大值、最小值、除法和阶乘的函数。还涉及了简单的利息计算和日期排序算法,以及在误差阈值下的计算终止。
摘要由CSDN通过智能技术生成

6.1

#include<stdio.h>

void main()
{
    float num=0,max=0;
    printf("\n输入数\n");
    scanf_s("%f",&num);
    for(num;num>0;num>max)
      { max=num;
        printf("\n输入数\n"); 
        scanf_s("%f",&num);
    }
    printf("最大数是%f",max);
}

6.2

#include <stdio.h>
void main()
{
	int m,n,temp;
	printf("Enter two integers:");
	scanf_s("%d %d", &m, &n);
	getchar();
	while (n != 0) {
			temp = m % n;
			m = n;
			n = temp;
	}
		printf("%d", m);
	getchar();
}

6.3

#include <stdio.h>
void main()
{
	int x,y,m,n,temp;
	printf("Enter two integers:");
	scanf_s("%d/%d", &x, &y);
	getchar();
	m = x;
	n = y;
	while (n != 0) {
			temp = m % n;
			m = n;
			n = temp;
	}
		printf("%d/%d",x/m,y/m);
	getchar();
}

6.4

#include <stdio.h>
void main()
{
	float  commission, value;
	printf("\nEnter price and mount: \n");
	scanf_s("%f", &value);
	getchar();
	while(value>0){
	if (value < 2500.f)
		commission = 30.00f + .017f * value;
	else if (value < 6250.00f)
		commission = 56.00f + .0066f * value;
	else if (value < 20000.00f)
		commission = 76.00f + .0034f * value;
	else if (value < 50000.00f)
		commission = 100.00f + .0022f * value;
	else if (value < 500000.00f)
		commission = 155.00f + .0011f * value;
	else
		commission = 255.00f + .0009f * value;
	if (commission < 39)
		commission = 39.00f;
	printf("\nCommission: $%.2f\n", commission);
	printf("\nEnter price and mount: \n");
	scanf_s("%f", &value);
	getchar();
}
}

6.5

#include <stdio.h>
void main()
{
	int i, j;
	printf("number:");
	scanf_s("%d", &i);
	getchar();
	do
	{
		j = i % 10;
		i = i / 10;
		printf("%d", j);
	} while (i!=0);
	getchar();
}

6.6

#include <stdio.h>
void main()
{
	int i=0,j=0,square=0;
	printf("number:");
	scanf_s("%d", &i);
	getchar();
	while (j < i) {
		j++;
		if (j % 2 != 0)
			continue;
		square = j * j;
		if (square > i)
			continue;
		printf("%d\n", square);
	}
	getchar();
}

6.7

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

6.8

#include <stdio.h>
void main()
{
	int day, start, i, last_day;
	printf("Enter number of days in month:");
	scanf_s("%d", &day);
	printf("Enter starting day of week:");
	scanf_s("%d", &start);
	for (i = 1; i < start; i++)
		printf("   ");
	last_day = 1 + 7 - start;
	for (i = 1; i <= day; i++) {
		printf("%3d", i);
		if ((i-last_day)%7==0)
			printf("\n");
	}
	getchar();
}

6.9

#include <stdio.h>
void main()
{
	int times, i;
	float amount, rate, monthly_payment;
	printf("Enter amount of loan:");
	scanf_s("%f", &amount);
	printf("Enter interest rate:");
	scanf_s("%f", &rate);
	printf("Enter monthly payment:");
	scanf_s("%f", &monthly_payment);
	printf("Enter the times: ");
	scanf_s("%d", &times);
	for (i = 0; i < times; i++) {
		amount = (amount - monthly_payment) + amount * rate / 1200;
		printf("Banlance remaining after first payment:$%.2f\n", amount);
	}
}

6.10

#include <stdio.h>
void main()
{
	int month=0, day=0, year=0, early_month, early_day, early_year;
		printf("Enter date (mm/dd/yy): ");
		scanf_s("%d/%d/%d", &month, &day, &year);
	early_month = month, early_day = day, early_year = year;
	while (month != 0 && day != 0 && year != 0) {
		if (year < early_year) {
			early_month = month;
			early_day = day;
			early_year = year;
		}
		else if (year == early_year && month < early_month) {
			early_month = month;
			early_day = day;
			early_year = year;
		}
		else if (year == early_year && month == early_month && day < early_day) {
			early_month = month;
			early_day = day;
			early_year = year;
		}
		printf("Enter date (mm/dd/yy): ");
		scanf_s("%d/%d/%d", &month, &day, &year);
	}
	printf("\n%d/%.2d/%.2d is the earliest date", early_month, early_day, early_year);
	getchar();
}

6.11

#include <stdio.h>
void main()
{
	int num, i;
	float j,sum, den;
	printf("Enter a number:");
	scanf_s("%d", &num);
	sum = 1;
	for (i = 1; i <= num; i++) {
		den = 1;
		for (j = i; j >= 1; j--) {
			den *=j;
		}
		sum += 1 / den;
	}
	printf("The value is %f", sum);
}

6.12

#include <stdio.h>
void main()
{
	int num, i;
	float j,sum, den,ep;
	printf("Enter a number:");
	scanf_s("%d", &num);
	printf("Enter a number:");
	scanf_s("%f", &ep);
	sum = 1;
	for (i = 1; i <= num; i++) {
		den = 1;
		for (j =(float) i; j >= 1; j--) {
			den *=j;
		}
		if (1 / den < ep) {
			break;
		}
		else {
			sum += 1 / den;
		}
	}
	printf("The value is %f", sum);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值