以计算器简单应用的C语言函数调用源码

简介: 以计算器简单应用的C语言函数调用源码


#include <stdio.h>
#include <stdlib.h>
void tips()//定义tips
  {
    printf("**********************\n");//输出
    printf("**小浩版计算器****\n");//输出
  void tipswhichcalc(char suanfa)//声明选择是是什么算法,并定义算法
  {
    switch(suanfa)算法传参
    {
      case '+': //如果是加法 
      printf("你计算的是加法\n");//输出加法
      break;//退出
      case '-': //如果是减法 
      printf("你计算的是减法\n");//输出减法
      break;//退出
      case '*':  //如果是乘法
      printf("你计算的是乘法\n");//输出乘法
      break;//退出
      case '/':  //如果是除法
      printf("你计算的是除法\n");//输出除法
      break;//退出
      default://除非
      printf("你选择的算法超出计算器能力\n");//输出
      break;//退出
    }
  } 
int jiafa(int x,int y)//声明加法
   { 
    int z;//定义整形变量z
    z = x+y;//z=x+y
    return z;//返回z
   }
int jianfa(int x,int y)//声明减法
   { 
    int z;
    z = x-y;
    return z;
   }
int chengfa(int x,int y)//声明乘法
   { 
    int z;
    z = x*y;
    return z;
   }
int chufa(int x,int y)//声明除法
   { 
    int z;
    z = x/y;
    return z;
   }
  void realcalc (int data1,int data2,char suanfa)//声明 realcalc 
  {
    switch(suanfa)//循环语句,根据printf传参给suanfa
    {
        case '+':
        printf("你计算的加法结果是%d\n",jiafa(data1,data2));//调用加法
        break;
        case '-':
        printf("你计算的减法结果是%d\n",jianfa(data1,data2));//调用减法
        break;
        case '*':
        printf("你计算的乘法结果是%d\n",chengfa(data1,data2));//调用乘法
        break;
        case '/':
        printf("你计算的除法结果是%d\n",chufa(data1,data2));//调用除法
        break;
    }
  }    
void calc(char suanfa)//声明calc
 {
     int data1;
     int data2;
     tipswhichcalc(suanfa);//调用tipswhichcalc里传回suanfa的参数
     printf("请输入第一个数\n");//输出第一个数
     scanf("%d",&data1);//输入数给data1
     printf("请输入第二个数\n");//输出第二个数
     scanf("%d",&data2);//输出数给data2
   realcalc(data1,data2,suanfa);//调用realcalc,并定义形参
 }
int main()
{
    int data1;
    int data2;
  // int ret;
   // float retchufa;
    char suanfa;
  int mark = 0;
    while(1)//循环,不用每次执行
    {
      tips();//调用小浩版计算器
      if(mark !=0)
         getchar();//这里的作用是把输data2以后的回车吸收掉,不想第一次进来的时候被调用,所以通过Mark来控制。
      mark =1;
      scanf("%c",&suanfa);//先输入了+,再输入了回车。
      getchar();//回车符也是一种字符,getchar函数用来获取一个字符,在这里的作用是把回车吸收掉。
       calc(suanfa);//调用calc
    }
  system("pause");//使界面一直显示
  return 0;
}
//其中有多次调用为精髓,形参后再形参再计算传参


20200531225743528.png

如有不足之处请批评指正。

相关文章
|
6月前
|
C语言
C语言中条件操作符的应用
最后,条件操作符是个超级英雄,但不是每个代码问题都需要一个超级英雄来解决。一定要在适当的时候适度的使用它,那么它将成为你的编程工具箱中的一件强力工具。
322 75
|
11月前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
325 5
|
11月前
|
存储 程序员 编译器
C 语言数组与指针的深度剖析与应用
在C语言中,数组与指针是核心概念,二者既独立又紧密相连。数组是在连续内存中存储相同类型数据的结构,而指针则存储内存地址,二者结合可在数据处理、函数传参等方面发挥巨大作用。掌握它们的特性和关系,对于优化程序性能、灵活处理数据结构至关重要。
|
11月前
|
存储 NoSQL 编译器
C 语言中指针数组与数组指针的辨析与应用
在C语言中,指针数组和数组指针是两个容易混淆但用途不同的概念。指针数组是一个数组,其元素是指针类型;而数组指针是指向数组的指针。两者在声明、使用及内存布局上各有特点,正确理解它们有助于更高效地编程。
|
11月前
|
网络协议 物联网 数据处理
C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势
本文探讨了C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势。文章详细讲解了使用C语言实现网络通信程序的基本步骤,包括TCP和UDP通信程序的实现,并讨论了关键技术、优化方法及未来发展趋势,旨在帮助读者掌握C语言在网络通信中的应用技巧。
254 2
|
11月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
263 1
|
11月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
321 1
|
11月前
|
存储 C语言 计算机视觉
在C语言中指针数组和数组指针在动态内存分配中的应用
在C语言中,指针数组和数组指针均可用于动态内存分配。指针数组是数组的每个元素都是指针,可用于指向多个动态分配的内存块;数组指针则指向一个数组,可动态分配和管理大型数据结构。两者结合使用,灵活高效地管理内存。
|
11月前
|
搜索推荐 算法 C语言
【排序算法】八大排序(下)(c语言实现)(附源码)
本文继续学习并实现了八大排序算法中的后四种:堆排序、快速排序、归并排序和计数排序。详细介绍了每种排序算法的原理、步骤和代码实现,并通过测试数据展示了它们的性能表现。堆排序利用堆的特性进行排序,快速排序通过递归和多种划分方法实现高效排序,归并排序通过分治法将问题分解后再合并,计数排序则通过统计每个元素的出现次数实现非比较排序。最后,文章还对比了这些排序算法在处理一百万个整形数据时的运行时间,帮助读者了解不同算法的优劣。
391 7
|
11月前
|
搜索推荐 算法 C语言
【排序算法】八大排序(上)(c语言实现)(附源码)
本文介绍了四种常见的排序算法:冒泡排序、选择排序、插入排序和希尔排序。通过具体的代码实现和测试数据,详细解释了每种算法的工作原理和性能特点。冒泡排序通过不断交换相邻元素来排序,选择排序通过选择最小元素进行交换,插入排序通过逐步插入元素到已排序部分,而希尔排序则是插入排序的改进版,通过预排序使数据更接近有序,从而提高效率。文章最后总结了这四种算法的空间和时间复杂度,以及它们的稳定性。
462 8