C語言簡單實現(xiàn)14個例題(譚浩強第四版)

1淆九、僅供學習交流參考恐仑。

#include<stdio.h>
#include<math.h>
#include<stdio.h>
#include<math.h>
#define PI 3.14159//對第二題的應用
void huashi()//1. 華氏度與攝氏度相互轉(zhuǎn)換 
{
    float f,c;
    printf("\n");
    printf("請輸入華氏:\n");
    scanf("%f",&f);
    c=(5.0/9)*(f-32);
    printf("\n");
    printf("c=%.2f\n",c);
    printf("\n");
}
void mianji()//2. 求圓的面積
{
    float r,s;
    printf("\n");
    printf("請輸入圓的半徑:");
    scanf("%f",&r);
    s=PI*r*r;
    printf("\n");
    printf("面積為%.2f\n",s);
    printf("\n");
}
void zijieshu()//3. 測試不同數(shù)據(jù)類型的字節(jié)數(shù) 
{
    printf("\n");
    printf("輸出各數(shù)據(jù)類型字節(jié)數(shù)\n");
    printf("整形數(shù)據(jù)所占字節(jié)數(shù)%d\n",sizeof(int));
    printf("短型數(shù)據(jù)所占字節(jié)數(shù)%d\n",sizeof(short));
    printf("單精數(shù)據(jù)所占字節(jié)數(shù)%d\n",sizeof(float));
    printf("雙精數(shù)據(jù)所占字節(jié)數(shù)%d\n",sizeof(double));
    printf("字符數(shù)據(jù)所占字節(jié)數(shù)%d\n",sizeof(char));
    printf("\n");
}
void runnian()//4. 判斷閏年
{
    int a;
    printf("\n");
    printf("請輸入年份:");
    scanf("%d",&a);
    if(a%4==0 && a%100!=0 || a%400==0)
    {
        printf("%d 是閏年\n",a);
    }
    else 
        printf("%d 不是閏年\n",a);
    printf("\n");
}
void sanjiaoxing()//5. 根據(jù)三角形的邊長,計算三角形面積
{
    int a,b,c;
    double d,s=0;
    printf("\n");
    printf("請輸入三角形邊長:");
    printf("例如輸入:1追葡,2吐绵,3 按回車即可\n");
    scanf("%d,%d,%d",&a,&b,&c);
    if(a+b>c && a+c>b && b+c>a)
    {
        d=(a+b+c)/2;
        s=sqrt((d-a)*(d-b)*(d-c)*d);
        printf("s=%.2f平方米\n",s);
    }
    else
        printf("不能構(gòu)成三角形,請重新輸入\n");
    printf("\n");
}
void shuru()//6. 分段函數(shù)的計算  
{
    int x,y;
    printf("\n");
    printf("請輸入x的值:");
    scanf("%d",&x);
    if(x>10)
    {
        y=3*x-11;
        printf("y=%d\n",y);
    }
    else
    if(x>1)
    {
        y=2*x-1;
        printf("y=%d\n",y);
    }
    else
        printf("y=%d\n",x);
    printf("\n");
}
void shuijin()//7. 所得稅計算  
{
    float a,b;
    printf("\n");
    printf("請輸入工資:a=");
    scanf("%f",&a);
    if(a<3000)
        b=0;
    else
        if(a<5000)
            b=(a-3000)*0.03;
        else
            b=(a-5000)*0.1;
        printf("需要交納稅b=%.2f\n",b);
        printf("\n");
}
void yunshuanfu()//8. 實現(xiàn)兩個數(shù)的算術運算 
{
    float x,y;
    char p;
    printf("\n");
    printf("輸入要計算的數(shù)值:\n");
    printf("例如輸入:1-2,按回車\n");
    scanf("%f%c%f",&x,&p,&y);
    switch (p)
    {
    case '+':printf("%.2f+%.2f=%.2f\n",x,y,x+y);break;
    case '-':printf("%.2f-%.2f=%.2f\n",x,y,x-y);break;
    case '*':printf("%.2f*%.2f=%.2f\n",x,y,x*y);break;
    case '/':printf("%.2f/%.2f=%.2f\n",x,y,x/y);break;
    case '%':printf("%.2f%c%.2f=%d\n",x,p,y,(int)x%(int)y);break;
    }
    printf("\n");
}
void zongshu()//9. 人口數(shù)量計算
{
    int n=2000;
    double p=0.078,m=14;
    printf("\n");
    while (n<=2020)
    {
        m=m*(1+p);
        n=n+1;
    }
    printf("2020年的人口數(shù)量為%.2f億\n",m);
    printf("\n");
}
void jiecheng()//10. 求階乘 
{
    int a=1,b=1,n=20;
    printf("\n");
    printf("請輸小于20的數(shù)字n:");
    scanf("%d",&n);
    while(b<=n)
    {
        a=a*b;
        b=b+1;
    }
    printf("%d的階乘計算結(jié)果為:%d\n",n,a);
    printf("\n");
}
void sushu()//11. 判斷素數(shù)
{
    int n,k,i;
    printf("\n");
    printf("請輸入一個正整數(shù):");
    scanf("%d",&n);
    {
        k=sqrt(n);
        for(i=2;i<=k;i++)
            if(n%i==0)break;
            if(i>=k+1)
            {
                printf("%d是素數(shù)\n",n);
            }
            else
                printf("%d不是素數(shù)\n",n);
    }
    printf("\n");
}
void shulie()//12. 求斐波那契數(shù)列
{
    int i;
    int a[20]={1,1};
    printf("\n");
    printf("正在輸出非波納契前20項\n");
    for(i=2;i<20;i++)
        a[i]=a[i-2]+a[i-1];
    for(i=0;i<20;i++)
    {
        if(i%5==0)
            printf("\n");
        printf("%12d",a[i]);
    }
    printf("\n");
}
void defen()//13. 計算選手得分
{
  float score[7];
  float min,max,ave;
  float sum=0.0;
  int i;
  printf("\n");
  printf("請分別輸入七個人員的分數(shù):\n");
  for(i=0;i<7;i++) scanf("%f",&score[i]);
  printf("\n");
  min=score[0];
  max=score[0];
  for(i=0;i<7;i++){
   sum=sum+score[i];
      if(score[i]>max) max=score[i];
      if(score[i]<min) min=score[i];
  }
  ave=(sum-max-min)/5;
  printf("最高分=%5.2f\n",max);
  printf("最低分=%5.2f\n",min);
  printf("平均分=%5.2f\n",ave);
    printf("\n");
}
void chazhao()//14. 查找電話號碼 
{
    int i;
    char n[20];
    struct call
    {
        char name[20];
        char num[20];
    }
    a[4]={{"zhao","11111111111"},{"qian","22222222222"},{"sun","33333333333"},
    {"li","44444444444"}};
    printf("可查詢?nèi)藛T名字列表\n");
    printf("zhao\n");
    printf("qian\n");
    printf("sun\n");
    printf("li\n");
    printf("請輸入姓名\n");
    scanf("%s",n);
    for(i=0;i<4;i++)
        if(strcmp(a[i].name,n)==0)
        {
            printf("%s\n",a[i].num);
            break;
        }
        if(i>=4)
            printf("查無此人\n");
}
void main()
{
    int p;
    while(1)
    {
        printf("1. 華氏度與攝氏度相互轉(zhuǎn)換 \n");
        printf("2. 求圓的面積\n");
        printf("3. 測試不同數(shù)據(jù)類型的字節(jié)數(shù)\n");
        printf("4. 判斷閏年\n");
        printf("5. 根據(jù)三角形的邊長,計算三角形面積\n");
        printf("6. 分段函數(shù)的計算\n");
        printf("7. 所得稅計算\n");
        printf("8. 實現(xiàn)兩個數(shù)的算術運算\n");
        printf("9. 人口數(shù)量計算\n");
        printf("10.求階乘\n");
        printf("11.判斷素數(shù)\n");
        printf("12.求斐波那契數(shù)列  \n");
        printf("13.計算選手得分\n");
        printf("14.查找電話號碼\n");
        printf("0. 退出\n");
        printf("請選擇0-14:");
        scanf("%d",&p);
        if(p==0)
            break;
        switch(p)
        {
        case 1:huashi();break;
        case 2:mianji();break;
        case 3:zijieshu();break;
        case 4:runnian();break;
        case 5:sanjiaoxing();break;
        case 6:shuru();break;
        case 7:shuijin();break;
        case 8:yunshuanfu();break;
        case 9:zongshu();break;
        case 10:jiecheng();break;
        case 11:sushu();break;
        case 12:shulie();break;
        case 13:defen();break;
        case 14:chazhao();break;
        default:printf("請重新選擇:\n");break;
        }
    }
}

#define PI 3.14159//對第二題的應用
void huashi()//1. 華氏度與攝氏度相互轉(zhuǎn)換 
{
    float f,c;
    printf("\n");
    printf("請輸入華氏:\n");
    scanf("%f",&f);
    c=(5.0/9)*(f-32);
    printf("\n");
    printf("c=%.2f\n",c);
    printf("\n");
}
void mianji()//2. 求圓的面積
{
    float r,s;
    printf("\n");
    printf("請輸入圓的半徑:");
    scanf("%f",&r);
    s=PI*r*r;
    printf("\n");
    printf("面積為%.2f\n",s);
    printf("\n");
}
void zijieshu()//3. 測試不同數(shù)據(jù)類型的字節(jié)數(shù) 
{
    printf("\n");
    printf("輸出各數(shù)據(jù)類型字節(jié)數(shù)\n");
    printf("整形數(shù)據(jù)所占字節(jié)數(shù)%d\n",sizeof(int));
    printf("短型數(shù)據(jù)所占字節(jié)數(shù)%d\n",sizeof(short));
    printf("單精數(shù)據(jù)所占字節(jié)數(shù)%d\n",sizeof(float));
    printf("雙精數(shù)據(jù)所占字節(jié)數(shù)%d\n",sizeof(double));
    printf("字符數(shù)據(jù)所占字節(jié)數(shù)%d\n",sizeof(char));
    printf("\n");
}
void runnian()//4. 判斷閏年
{
    int a;
    printf("\n");
    printf("請輸入年份:");
    scanf("%d",&a);
    if(a%4==0 && a%100!=0 || a%400==0)
    {
        printf("%d 是閏年\n",a);
    }
    else 
        printf("%d 不是閏年\n",a);
    printf("\n");
}
void sanjiaoxing()//5. 根據(jù)三角形的邊長,計算三角形面積
{
    int a,b,c;
    double d,s=0;
    printf("\n");
    printf("請輸入三角形邊長:");
    printf("例如輸入:1溺职,2芭概,3 按回車即可\n");
    scanf("%d,%d,%d",&a,&b,&c);
    if(a+b>c && a+c>b && b+c>a)
    {
        d=(a+b+c)/2;
        s=sqrt((d-a)*(d-b)*(d-c)*d);
        printf("s=%.2f平方米\n",s);
    }
    else
        printf("不能構(gòu)成三角形赛不,請重新輸入\n");
    printf("\n");
}
void shuru()//6. 分段函數(shù)的計算  
{
    int x,y;
    printf("\n");
    printf("請輸入x的值:");
    scanf("%d",&x);
    if(x>10)
    {
        y=3*x-11;
        printf("y=%d\n",y);
    }
    else
    if(x>1)
    {
        y=2*x-1;
        printf("y=%d\n",y);
    }
    else
        printf("y=%d\n",x);
    printf("\n");
}
void shuijin()//7. 所得稅計算  
{
    float a,b;
    printf("\n");
    printf("請輸入工資:a=");
    scanf("%f",&a);
    if(a<3000)
        b=0;
    else
        if(a<5000)
            b=(a-3000)*0.03;
        else
            b=(a-5000)*0.1;
        printf("需要交納稅b=%.2f\n",b);
        printf("\n");
}
void yunshuanfu()//8. 實現(xiàn)兩個數(shù)的算術運算 
{
    float x,y;
    char p;
    printf("\n");
    printf("輸入要計算的數(shù)值:\n");
    printf("例如輸入:1-2,按回車\n");
    scanf("%f%c%f",&x,&p,&y);
    switch (p)
    {
    case '+':printf("%.2f+%.2f=%.2f\n",x,y,x+y);break;
    case '-':printf("%.2f-%.2f=%.2f\n",x,y,x-y);break;
    case '*':printf("%.2f*%.2f=%.2f\n",x,y,x*y);break;
    case '/':printf("%.2f/%.2f=%.2f\n",x,y,x/y);break;
    case '%':printf("%.2f%c%.2f=%d\n",x,p,y,(int)x%(int)y);break;
    }
    printf("\n");
}
void zongshu()//9. 人口數(shù)量計算
{
    int n=2000;
    double p=0.078,m=14;
    printf("\n");
    while (n<=2020)
    {
        m=m*(1+p);
        n=n+1;
    }
    printf("2020年的人口數(shù)量為%.2f億\n",m);
    printf("\n");
}
void jiecheng()//10. 求階乘 
{
    int a=1,b=1,n=20;
    printf("\n");
    printf("請輸小于20的數(shù)字n:");
    scanf("%d",&n);
    while(b<=n)
    {
        a=a*b;
        b=b+1;
    }
    printf("%d的階乘計算結(jié)果為:%d\n",n,a);
    printf("\n");
}
void sushu()//11. 判斷素數(shù)
{
    int n,k,i;
    printf("\n");
    printf("請輸入一個正整數(shù):");
    scanf("%d",&n);
    {
        k=sqrt(n);
        for(i=2;i<=k;i++)
            if(n%i==0)break;
            if(i>=k+1)
            {
                printf("%d是素數(shù)\n",n);
            }
            else
                printf("%d不是素數(shù)\n",n);
    }
    printf("\n");
}
void shulie()//12. 求斐波那契數(shù)列
{
    int i;
    int a[20]={1,1};
    printf("\n");
    printf("正在輸出非波納契前20項\n");
    for(i=2;i<20;i++)
        a[i]=a[i-2]+a[i-1];
    for(i=0;i<20;i++)
    {
        if(i%5==0)
            printf("\n");
        printf("%12d",a[i]);
    }
    printf("\n");
}
void defen()//13. 計算選手得分
{
  float score[7];
  float min,max,ave;
  float sum=0.0;
  int i;
  printf("\n");
  printf("請分別輸入七個人員的分數(shù):\n");
  for(i=0;i<7;i++) scanf("%f",&score[i]);
  printf("\n");
  min=score[0];
  max=score[0];
  for(i=0;i<7;i++){
   sum=sum+score[i];
      if(score[i]>max) max=score[i];
      if(score[i]<min) min=score[i];
  }
  ave=(sum-max-min)/5;
  printf("最高分=%5.2f\n",max);
  printf("最低分=%5.2f\n",min);
  printf("平均分=%5.2f\n",ave);
    printf("\n");
}
void chazhao()//14. 查找電話號碼 
{
    int i;
    char n[20];
    struct call
    {
        char name[20];
        char num[20];
    }
    a[4]={{"zhao","11111111111"},{"qian","22222222222"},{"sun","33333333333"},
    {"li","44444444444"}};
    printf("可查詢?nèi)藛T名字列表\n");
    printf("zhao\n");
    printf("qian\n");
    printf("sun\n");
    printf("li\n");
    printf("請輸入姓名\n");
    scanf("%s",n);
    for(i=0;i<4;i++)
        if(strcmp(a[i].name,n)==0)
        {
            printf("%s\n",a[i].num);
            break;
        }
        if(i>=4)
            printf("查無此人\n");
}
void main()
{
    int p;
    while(1)
    {
        printf("1. 華氏度與攝氏度相互轉(zhuǎn)換 \n");
        printf("2. 求圓的面積\n");
        printf("3. 測試不同數(shù)據(jù)類型的字節(jié)數(shù)\n");
        printf("4. 判斷閏年\n");
        printf("5. 根據(jù)三角形的邊長,計算三角形面積\n");
        printf("6. 分段函數(shù)的計算\n");
        printf("7. 所得稅計算\n");
        printf("8. 實現(xiàn)兩個數(shù)的算術運算\n");
        printf("9. 人口數(shù)量計算\n");
        printf("10.求階乘\n");
        printf("11.判斷素數(shù)\n");
        printf("12.求斐波那契數(shù)列  \n");
        printf("13.計算選手得分\n");
        printf("14.查找電話號碼\n");
        printf("0. 退出\n");
        printf("請選擇0-14:");
        scanf("%d",&p);
        if(p==0)
            break;
        switch(p)
        {
        case 1:huashi();break;
        case 2:mianji();break;
        case 3:zijieshu();break;
        case 4:runnian();break;
        case 5:sanjiaoxing();break;
        case 6:shuru();break;
        case 7:shuijin();break;
        case 8:yunshuanfu();break;
        case 9:zongshu();break;
        case 10:jiecheng();break;
        case 11:sushu();break;
        case 12:shulie();break;
        case 13:defen();break;
        case 14:chazhao();break;
        default:printf("請重新選擇:\n");break;
        }
    }
}
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市罢洲,隨后出現(xiàn)的幾起案子踢故,更是在濱河造成了極大的恐慌,老刑警劉巖惹苗,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畴椰,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸽粉,警方通過查閱死者的電腦和手機斜脂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來触机,“玉大人帚戳,你說我怎么就攤上這事±苁祝” “怎么了片任?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蔬胯。 經(jīng)常有香客問我对供,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任产场,我火速辦了婚禮鹅髓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘京景。我一直安慰自己窿冯,他們只是感情好,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布确徙。 她就那樣靜靜地躺著醒串,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鄙皇。 梳的紋絲不亂的頭發(fā)上芜赌,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機與錄音伴逸,去河邊找鬼缠沈。 笑死,一個胖子當著我的面吹牛违柏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播香椎,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼漱竖,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了畜伐?” 一聲冷哼從身側(cè)響起馍惹,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎玛界,沒想到半個月后万矾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡慎框,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年良狈,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笨枯。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡薪丁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出馅精,到底是詐尸還是另有隱情严嗜,我是刑警寧澤,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布洲敢,位于F島的核電站漫玄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏压彭。R本人自食惡果不足惜睦优,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一渗常、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧刨秆,春花似錦凳谦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至缓醋,卻和暖如春如失,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背送粱。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工褪贵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人抗俄。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓脆丁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親动雹。 傳聞我的和親對象是個殘疾皇子槽卫,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 一句瑞典格言說:“我們老得太快歼培,卻聰明得太遲∪兹”不管你是否察覺躲庄,生命都一直在前進。 人生并未售來回票钾虐,失去的...
    fbad912d56d6閱讀 137評論 0 1
  • 瀚之閱讀 111評論 0 0
  • 山馳千騎遠噪窘, 云過一湖長。 休嘆光陰迫效扫, 人間共此傷效览。
    梅開如雪閱讀 190評論 9 23
  • 剛剛看完六季《唐頓莊園》,我終于松了一口氣荡短,戲中不斷有波折丐枉,我猶如戲中人一般提心吊膽,幾乎以一個姿勢看完一季掘托,手中...
    夕雁無邊閱讀 150評論 1 1