初衷就是看书看到这里,所以进行了一个简单的实践。
源码如下:
#include<stdio.h> void add() { static int a, b; /*加法*/ printf_s("加法运算\n"); printf_s("请输入一个数字\n"); scanf_s("%d", &a); printf_s("请输入另一个数字\n"); scanf_s("%d", &b); a += b; printf_s("两数相加为%d\n", a); } void subtract() /*减法*/ { static int a, b; printf_s("减法运算\n"); printf_s("请输入一个数字\n"); scanf_s("%d", &a); printf_s("请输入另一个数字\n"); scanf_s("%d", &b); a -= b; printf_s("两数相减为%d\n",a); } void multiply() /*乘法*/ { static int a, b; printf_s("乘法运算\n"); printf_s("请输入一个数字\n"); scanf_s("%d", &a); printf_s("请输入另一个数字\n"); scanf_s("%d", &b); a *= b; printf_s("两数相乘为%d\n", a); } void eliminates() /*除法*/ { static int a, b; printf_s("除法运算\n"); printf_s("请输入一个数字\n"); scanf_s("%d", &a); printf_s("请输入另一个数字\n"); scanf_s("%d", &b); if (a&&b == 0) /*除数不能为零*/ { printf_s("除数不能为0!!error\n"); printf_s("请重新输入~~\n"); printf_s("请输入一个数字\n"); scanf_s("%d", &a); printf_s("请输入另一个数字\n"); scanf_s("%d", &b); } a/= b; printf_s("两数相除为%d\n", a); } int main() { int a; while (1) /*程序循环运行*/ { printf_s("加法为1,减法为2,乘法为3,除法为4\n"); scanf_s("%d", &a); if (-1<a&&a>4) /*如果不为1,2,3,4,提示不能继续运行,重新选择*/ { printf_s("error!!!根据提示选择运算!!!\n"); } else if (a == 1) /*如果a是1,进行加法运算,下面分别为减,乘,除*/ { switch (a) { case 1:printf_s("你已选择加法运算\n"); add(); break; } } else if (a==2) { switch (a) { case 2:printf_s("你已选择减法运算\n"); subtract(); break; } } else if (a == 3) { switch (a) { case 3:printf_s("你已选择乘法运算\n"); multiply(); break; } } else if (a == 4) { switch (a) { case 4:printf_s("你已选择除法运算\n"); eliminates(); break; } } continue; /*跳回到while,重新运行程序*/ } } 注:不能输入实型常量、后期会进行更改,并加入新的数学运算。
心得:
可以运用static变量进行分结构化的程序设计,采用的是函数调用,便于后期的修改和维护。