国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言項目全正整數后再計算的三種參考解答方法

2020-01-26 13:32:03
字體:
來源:轉載
供稿:網友

【項目-全正整數后再計算】

輸入3個正整數,其中任一數不是正整數,程序輸出Invalid number!,然后結束運行。當第1個數為奇數時,計算后兩數之和,當第1個數為偶數時,計算第2數減去第3數的差。無論哪種情形,當結果超過10時按如下示例輸出,否則什么也不輸出。

示例 1:

Enter number 1: 2
Enter number 2: -7
Invalid number!

示例2:

Enter number 1: 17
Enter number 2: 3
Enter number 3: 6

示例3:

Enter number 1: 16
Enter number 2: 3
Enter number 3: 6

示例4:

Enter number 1: 11
Enter number 2: 4
Enter number 3: 22
Result: 26

示例5:

Enter number 1: 246
Enter number 2: 22
Enter number 3: 4
Result: 18

示例6:

Enter number 1: 246
Enter number 2: 4
Enter number 3: 22

解法1:嚴格按題目描述來,先輸入、再計算、最后輸出,直觀、清晰

#include <stdio.h>#include <stdlib.h>int main(){  int x,y,z,a;  printf("Enter number 1:");  scanf("%d",&x);  if(x<=0)//第一個數字符號驗證  {    printf("Invalid number.");    return 0;  }  printf("Enter number 2: ");  scanf("%d",&y);  if(y<=0)  {    printf("Invalid number./n");    return 0;  }  printf("Enter the number 3: ");  scanf("%d",&z);  if(z<=0)  {    printf("Invalid number!/n");    return 0;  }  if(x%2!=0)//第一個數字是奇數的情況  {    a=y+z;  }  else//第一個數字是偶數情況  {    a=y-z;  }  if(a>10)  {    printf("Paul is the monkey king,He can lift %d jin!",a);  }  return 0;}

解法2:三級選擇結構的嵌套,優先處理為正整數的情形

#include <stdio.h>#include <stdlib.h>int main(){  int x,y,z,a;  printf("Enter number 1:");  scanf("%d",&x);  if(x>0)//第一個數字符號驗證  {    printf("Enter number 2: ");    scanf("%d",&y);    if(y>0)    {      printf("Enter the number 3: ");      scanf("%d",&z);      if(z>0)      {        if(x%2!=0)          a=y+z;        else          a=y-z;        if(a>10)          printf("Result: %d/n",a);      }      else        printf("Invalid number./n");    }    else      printf("Invalid number./n");  }  else    printf("Invalid number./n");  return 0;}

解法3:用了一個技巧――變量ok初值為0,代表輸入數字為非正整數,只有三數均為正整數后才賦值為1,這樣,在程序結束之前,可以依據ok判定是否三數全是正整數

#include <stdio.h>#include <stdlib.h>int main(){  int x,y,z,a,ok=0;  printf("Enter number 1:");  scanf("%d",&x);  if(x>0)  {    printf("Enter number 2: ");    scanf("%d",&y);    if(y>0)    {      printf("Enter the number 3: ");      scanf("%d",&z);      if(z>0)      {        ok=1;        if(x%2!=0)          a=y+z;        else          a=y-z;        if(a>10)          printf("Result: %d/n",a);      }    }  }  if(ok==0) //若到此ok仍然為初值0,必定是某一個數非正整數了    printf("Invalid number./n");  return 0;}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 卓尼县| 乌海市| 两当县| 北京市| 沙田区| 原平市| 东海县| 永平县| 河北区| 阳西县| 乌拉特前旗| 洪湖市| 桂东县| 汝阳县| 阿城市| 河津市| 玉溪市| 保康县| 寻乌县| 福安市| 唐山市| 虞城县| 潞城市| 昭苏县| 淮南市| 兴业县| 宕昌县| 韩城市| 措美县| 济宁市| 贵南县| 通化县| 辽宁省| 娄烦县| 达州市| 建阳市| 墨脱县| 东乌珠穆沁旗| 高台县| 崇礼县| 台东市|