首先要说明一下,我是新手,下面的代码是我没有简化的代码,如果可以的话,请各位大牛指出简化的地方。谢谢。
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char * argv[])
{
int n = 0;
double j;
double k;
if(argc < 3) //首先判断输入的项目是否足够
{
printf("wrong\n");
return -1;
};
//printf("%d.\n",argc); //用于调试的时候检查参数输入的个数
if(‘-‘ == *argv[2]) //判断运算符号
{
n = 1;
}
else if(‘+‘ == *argv[2])
{
n = 2;
}
else if(‘*‘ == *argv[2])
{
n = 3;
}
else if(‘/‘ == *argv[2])
{
n = 4;
}
//printf("n = %d.\n",n); //调试时用于检查经过上述的判断所得到的值是多少
j = atof(argv[1]); //然后对字符串换成浮点数
k = atof(argv[3]);
switch (n) //进行输出
{
case 0:printf("ERROR.\n");break;
case 1:printf("%c %c %c = %.3f.\n",*argv[1],*argv[2],*argv[3],(j - k));break;
case 2:printf("%c %c %c = %.3f.\n",*argv[1],*argv[2],*argv[3],(j + k));break;
case 3:printf("%c %c %c = %.3f.\n",*argv[1],*argv[2],*argv[3],(j * k));break;
case 4:printf("%c %c %c = %.3f.\n",*argv[1],*argv[2],*argv[3],(j / k));break;
default:printf("ERROR.\n");break;
};
return 0;
}