1. 程式人生 > >《C程式設計快速進階大學教程》第五章程式題

《C程式設計快速進階大學教程》第五章程式題

1.編寫程式求三個整型數的和、積和平均值,輸入三個數的值,輸出結果。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    float p = (a+b+c)/3;
    printf("這三個數是:%d %d %d\n",a,b,c);
    printf("和: %d\n",a+b+c);
    printf("積: %d\n",a*b*c);
    printf("平均值:%f\n"
,p); return 0; }

2.編寫程式求圓柱體底面周長、圓柱體的表面積和體體積。要求輸入圓柱的底面直徑和高,輸出計算結果,取小數點後2位數字,輸入輸出時要求有文字說明。

#include <stdio.h>
#include <stdlib.h>

#define PI 3.14

int main()
{
    float r,h;
    float c,f,v;
    printf("請輸入底面直徑和高:\n");
    scanf("%f %f",&r,&h);
    //底面周長
    c = PI*r;
    //表面積
f = PI*r*2 + PI*r*h; //體積 v = PI*r*r*h/4; printf("底面周長:%f 表面積:%f 體積:%f",c,f,v); return 0; }

3.編寫程式實現華氏溫度和攝氏溫度的轉換。輸入一個華氏溫度F,要求輸出攝氏溫度C。輸出結果要有文字說明,取小數點後4位數字。轉換公式為:
c=5×(F-32)/9

#include <stdio.h>
#include <stdlib.h>

int main()
{
    float F,C;
    scanf("%f",&F);
C = 5*(F-32)/9; printf("%.4f",C); return 0; }

4.編寫程式進行字母的大小寫轉換。輸入一個大寫字母,輸出對應的小寫字母。提示:若輸入小寫字母則直接輸出,若輸入的不是大寫字母則提示錯誤。

#include <stdio.h>
#include <stdlib.h>
/*
編寫程式進行字母的大小寫轉換。輸入一個大寫字母,輸出對應的小寫字母。提示:若輸入小寫字母則直接輸出,若輸入的不是大寫字母則提示錯誤。
*/

int main()
{
    char c;
    c = getchar();
    if(c <= 'Z' && c>= 'A')
        putchar(c+'a'-'A');
    else
        putchar(c);

    return 0;
}

5.[選做]將字串譯成密碼,密碼規律是用原來的字母后面的第4個字母代替原來的字母,例如,字母”A“後面4個字母是”E“,用”E“代替”A“;字母‘x‘經轉換後變為‘b’;因此”China“應譯為”Glmre“。編寫一個程式,輸入一個長度不超過10的字串,輸出經過加密運算後的密碼。
提示:可利用5個字元變數,分別儲存‘C’,‘h’,‘i’,‘n’,‘a’,也可用一個字元陣列儲存字串“China”,其字元可以通過初始化、賦值獲得,也可由使用者輸入。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char c[10];
    printf("輸入長度小於10的字串:(用回車結束輸入)\n");
    int i;
    //初始化
    for(i=0;i<10;i++){
        c[i] = ' ';
    }
    char ch;
    //輸入字串
    int k=0;
    while ((ch = getchar()) != '\n'){
        c[k] = ch;
        k++;

    }
    int j;
    for(j=0;j<k;j++){
        //一個邏輯判斷,因為W,X,Y,Z,w,x,y,z分別對應A,B,C,D,a,b,c,d
        if((c[j] <='V' && c[j]>='A') || (c[j]<='v' && c[j]>='a')){
            printf("%c",c[j]+4);
        }
        else if((c[j]<='Z' && c[j]>='W')||(c[j]<='z' && c[j]>='w')){
            printf("%c",c[j]-22);
        }
        else
            printf("%c",c[j]);

    }
    return 0;
}