1. 程式人生 > >C Primer Plus 6th(中文版)第五章程式設計練習答案

C Primer Plus 6th(中文版)第五章程式設計練習答案

1.編寫一個程式,把用分鐘表示的時間轉換成用小時和分鐘表示的時間。使用#define或const建立一個表示60的符號常量或const變數。通過while迴圈讓使用者輸入小於或等於0的值才停止迴圈。

#include<stdio.h>
const int HOUR=60;   //一小時的分鐘數

int main(void)
{
    int x,minute,hour;
    printf("請輸入分鐘數(輸入0或負數停止迴圈):\n");
    scanf("%d",&x);

    hour=x/HOUR;
    minute=x%HOUR;
    printf
("%d分鐘是%d小時%d分鐘.",x,hour,minute); while(x>0) { printf("\n\n請輸入分鐘數(輸入0或負數停止迴圈):\n"); scanf("%d",&x); hour=x/HOUR; minute=x%HOUR; printf("%d分鐘是%d小時%d分鐘.",x,hour,minute); } return 0; }

2.編寫一個程式,提示使用者輸入一個整數,然後列印從該數大10的所有整數(例如,輸入5,則列印5~15的所有整數,包括5和15)。要求列印的各值之間用一個空格、製表符或者換行符分開。

#include<stdio.h>

int main(void)
{
    int a,b;
    printf("請輸入一個數:\n");
    scanf("%d",&a);
    b=a+10;
    while(a<=b)
    {
        printf("%d ",a);
        a++;    
    }

    return 0;
}

這裡寫圖片描述

5.假設第一天賺12、第三天賺3$,以此類推。請使用者輸入天數,求這些天裡一共賺多少。

#include<stdio.h>

int main(void
) { int day; int sum=0; int i; printf("請輸入天數:\n",day); scanf("%d",&day); for(i=1;i<=day;i++) { sum=sum+i; } printf("%d天一共賺了%d$.",day,sum); return 0; }

這裡寫圖片描述

6.假設第一天賺14、第三天賺9$,以此類推。請使用者輸入天數,求這些天裡一共賺多少。

#include<stdio.h>

int main(void)
{
    int day;
    int sum=0;
    int i,n;
    printf("請輸入天數:\n",day);
    scanf("%d",&day);

    for(i=1;i<=day;i++)
    {
        n=i*i;   //注意,這裡不能寫i=i*i;sum=sum+i;因為i都平方了,i會影響迴圈 
        sum=sum+n;
    }
    printf("%d天一共賺了%d$.",day,sum);

    return 0;
 } 

這裡寫圖片描述

7.編寫一個程式,提示使用者輸入一個double型別的數,並列印該數的立方值。main函式要把使用者輸入的值傳遞給該函式。

#include<stdio.h>
#include<math.h>   //C語言中沒有立方函式,但可以用pow()函式計算指數運算,需要呼叫標準數學庫。簡單點也可以用n*n*n計算立方。
double cube(double x);   //函式原型

int main(void)
{
    double x,n;
    printf("請輸入一個double型別的值:\n");
    scanf("%lf",&x);
    cube(x);

    return 0;
 } 

double cube(double n)   //cube:立方,函式定義
{
    double a;
    a=pow(n,3);   //pow()函式的引數要double型別
    printf("%.2lf的立方是%.2lf",n,a);   //int輸出用%d,float輸出用%f,double輸出用%lf
 } 

這裡寫圖片描述