C Primer Plus 6th(中文版)第五章程式設計練習答案
阿新 • • 發佈:2019-02-15
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.假設第一天賺1、第三天賺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.假設第一天賺1、第三天賺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
}