程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用C語言編寫函數實現一個整數計算機,程序接受三個參數,第一個參數為操作項,後兩個參數為操作數。

用C語言編寫函數實現一個整數計算機,程序接受三個參數,第一個參數為操作項,後兩個參數為操作數。

編輯:關於C語言

用C語言編寫函數實現一個整數計算機,程序接受三個參數,第一個參數為操作項,後兩個參數為操作數。


函數功能: 使用main函數的參數,實現一個整數計算機,程序可以接受三個參數,第一個參數“-a”選項執行加法,“-s”選項執行減法,“-m”選項執行乘法,“-d”選項執行除法,後面兩個參數為操作數。   思考: 三個參數中兩個操作數不用處理,直接傳入即可,而對於第一個操作數就需要處理了,以保證傳入的參數是“'-a','-s','-m','-d'”,以便於處理計算,第一步將操作符號轉化為上述賦好,然後將參數以及操作數傳入函數。 程序如下:
/*
**1.使用main函數的參數,實現一個整數計算機,程序可以接受三個參數,
**第一個參數“-a”選項執行加法,“-s”選項執行減法,
**“-m”選項執行乘法,“-d”選項執行除法,後面兩個參數為操作數。
*/
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
int my_math(char *p, int num1, int num2)
{
    assert(p);
    if (p == "-a")
        return num1 + num2;
    else if (p == "-s")
        return num1 - num2;
    else if (p == "-m")
        return num1*num2;
    else if (p == "-d")
        return num1 / num2;
    else return 0;
}
int main()
{
    char a,b;
    char *p=&b;
    int num1 = 0;
    int num2 = 0;
    printf("請輸入要計算的算式:");
    scanf("%d%c%d",&num1,&a,&num2);  //錄入算式,num1,num2為操作數,a保存的是操作符
    while (1)      //分別對參數指針p賦值,‘+’,‘-’,‘*’,‘/’,分別對應“-a,-s,-m,-d”,如果別的符號隊p賦‘\0’
    {
        if (a == '+')
        {
            p= "-a" ;
            break;
        }
        else if (a == '-')
        {
            p = "-s";
            break;
        }
        else if (a == '*')
        {
            p = "-m";
            break;
        }
        else if (a == '/')
        {
            p = "-d";
            break;
        }
        else *p = '\0';
    }
    int result = my_math(p, num1, num2);    //函數調用,得到結果。
    printf("%d%c%d=%d\n",num1,a,num2,result);  //分別輸出
    system("pause");
    return 0;
}

 

經過驗證,結果正確,注意:錄入算數式的時候不要錄入等號,如要計算5加3,錄入“5+3”即可!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved