C语言程序设计现代方法第2版 练习题(第二/三章)

󰃭 2016-05-15

导读

这里总结的是《C语言程序设计现代方法 第2版》的部分编程题的答案, 当然, 这是我的个人答案, 难免有错,如果发现了,请各位及时指出

第二章

编程题 2.1

#include <stdio.h>

int main(void)
{
    printf("       *\n");
    printf("      *\n");
    printf("     *\n");
    printf("*   *\n");
    printf(" * *\n");
    printf("  *\n");
}

编程题 2.2

#include <stdio.h>
#define PI 3.1415f
#define FT 4.0f / 3.0f

int main(void)
{
    int r = 10;
    float v;

    v = FT * PI * r * r * r;
    printf("v is %.2f \n",v);
}

编程题2.3

#include <stdio.h>
#define PI 3.1415f
#define FT 4.0f / 3.0f

int main(void)
{
    int r;
    float v;

    printf("请输入半径:");
    scanf("%d",&r);

    v = FT * PI * r * r * r;
    printf("v is %.2f \n",v);
}

编程题2.4

int main(void)
{
    float enter_d;

    printf("Enter an amount: ");
    scanf("%f",&enter_d);

    printf("With tax added: $%.2f \n",enter_d + enter_d * 0.05f);
}

编程题2.7

#include <stdio.h>

int main(void)
{
    int sum;

    printf("Enter a dollar amount:");
    scanf("%d",&sum);

    printf("$20 bills: %d\n",sum / 20);
    sum = sum % 20;
    printf("$10 bills: %d\n",sum / 10);
    sum = sum % 10;
    printf("$5 bills: %d\n",sum / 5);
    sum = sum % 5;
    printf("$1 bills: %d\n",sum);
}

编程题2.8

#include <stdio.h>

int main(void)
{
    float loan,rate,month_payment;

    printf("Enter amount of loan:");
    scanf("%f",&loan);
    printf("Enter interest rate:");
    scanf("%f",&rate);
    printf("Enter monthly payment:");
    scanf("%f",&month_payment);

    rate = rate / 100;

    loan = loan - month_payment + loan * rate / 12;
    printf("Balance remaining after first payment: %.2f\n", loan);
    loan = loan - month_payment + loan * rate /12 ;
    printf("Balance remaining after second payment: %.2f\n",loan);
    loan = loan - month_payment + loan * rate /12;
    printf("Balance remaining after third payment: %.2f\n",loan);
}

第三章

编程题3.2


int main(void)
{
    int item_num, month, day, year;
    float price;

    printf("Enter item number:");
    scanf("%d",&item_num);
    printf("Enter unit price:");
    scanf("%f", &price);
    printf("Enter purchase date (mm/dd/yyyy):");
    scanf("%d/%d/%d",&month,&day, &year);

    printf("Item\tUnit\tPurchase\n");
    printf("\tPrice\tDate\n");
    printf("%d\t$ %.2f\t%.2d%.2d%.4d\n",item_num,price,month,day,year);

    return 0;
}

编程题3.3

#include <stdio.h>

int main(void)
{
    int gs1,group,pcode,inum,cd;

    printf("Enter ISBN: ");
    scanf("%d-%d-%d-%d-%d",&gs1,&group,&pcode,&inum,&cd);

    printf("GS1 prefix: %d\n",gs1);
    printf("Group identifier: %d\n",group);
    printf("Publisher code: %d\n",pcode);
    printf("Item number: %d\n",inum);
    printf("Check digit: %d\n",cd);

    return 0;
}

编程题3.4

#include <stdio.h>

int main(void)
{
    int area_code,num1,num2;

    printf("Enter phone number [(xxx) xxx-xxxx]:");
    scanf("(%d) %d-%d",&area_code, &num1, &num2);

    printf("You entered %d.%d.%d\n",area_code,num1,num2);

    return 0;
}

编程题3.5

#include <stdio.h>

int main(void)
{
    int a1,a2,a3,a4;
    int b1,b2,b3,b4;
    int c1,c2,c3,c4;
    int d1,d2,d3,d4;

    printf("Enter the numbers from 1 to 16 in any order:\n");
    //16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1
    scanf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",
            &a1,&a2,&a3,&a4,
            &b1,&b2,&b3,&b4,
            &c1,&c2,&c3,&c4,
            &d1,&d2,&d3,&d4);

    printf("%d %d %d %d\n",a1,a2,a3,a4);
    printf("%d %d %d %d\n",b1,b2,b3,b4);
    printf("%d %d %d %d\n",c1,c2,c3,c4);
    printf("%d %d %d %d\n",d1,d2,d3,d4);

    printf("Row sums: %d %d %d %d\n", a1+a2+a3+a4, b1+b2+b3+b4,
            c1+c2+c3+c4,d1+d2+d3+d4);
    printf("Column sums: %d %d %d %d\n",a1+b1+c1+d1,a2+b2+c2+d2,
            a3+b3+c3+d3, a4+b4+c4+d4);
    printf("Diagonal sums: %d %d\n",a1+b2+c3+d4, a4+b3+c2+d1);
}

编程题3.6

#include <stdio.h>

int main(void)
{
    int num1,denmon1,num2,denmon2;

    printf("Enter tow fractions separated by a plus sign: ");
    scanf("%d/%d+%d/%d",&num1,&denmon1,&num2,&denmon2);

    printf("The sum is %d/%d\n", num1 * denmon2 + num2 * denmon1, denmon1 * denmon2);
}