watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenVveW91MTMxNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenVveW91MTMxNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenVveW91MTMxNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenVveW91MTMxNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

  1. #import <Foundation/Foundation.h>
  2. #import "MyFunction.h"
  3. #import "Operator.h"
  4. #define PI 3.1415926
  5. int mediumValue(int o , int p ,int q)
  6. {
  7.  
  8. #pragma mark-------------总结几种求中间数的方法
  9. //三个数求和,减去最大的,最小的
  10. //数组排序
  11. //第一种方法
  12. //先求最大,再求最小,最后就是中间的
  13. int max = 0,min =0,med= 0;
  14. if (o>p&&o>q) {
  15. max = o;
  16. }else if (p>o&&p>q){
  17. max = p;
  18. }else{
  19. max =q;
  20. }
  21.  
  22. if (o<p&&o<q) {
  23. min = o;
  24. }else if (p<o&&p<q){
  25. min = p;
  26. }else{
  27. min =q;
  28. }
  29.  
  30. if ((o>p&&o<q)||(o<p&&o>q)) {
  31. med = o;
  32. }else if ((p>o&&p<q)||(p<o&&p>q)){
  33. med = p;
  34. }else{
  35. med =q;
  36. }
  37. return med;
  38. }
  39.  
  40. //没有返回值,没有參数
  41. void printfLanou(void);
  42. void printfLanou(void)
  43. {
  44. printf("蓝鸥 ");
  45. }
  46.  
  47. //没有返回值,有參数
  48. void printfNum(int number);
  49. void printfNum(int number)
  50. {
  51. printf(" %d ",number);
  52. }
  53.  
  54. //有返回值,无參数
  55. //float PI()
  56. //{
  57. // return 3.1415;
  58. //}
  59.  
  60. //既有返回值,又有參数
  61.  
  62. //int square(int x)
  63. //{
  64. // return x*x;
  65. //}
  66.  
  67. //求和
  68. int sumsValue( int m,int n);
  69. int sumsValue( int m,int n)
  70. {
  71. int sums = 0 ;
  72. for (int i = m; i<=n; i++) {
  73. sums = sums +i;
  74. }
  75. return sums;
  76.  
  77. }
  78.  
  79. int main(int argc, const char * argv[])
  80. {
  81. // int b[10]={0};
  82. // for (int i = 0; i<10; i++) {
  83. // b[i]=arc4random()%(20-10+1)+10;
  84. // }
  85. // for (int j = 0; j<10; j++) {
  86. // printf("%d ",b[j]);
  87. // }
  88. //
  89. // int c[5]={0};
  90. // for (int i =0; i<5; i++) {
  91. // c[i]=arc4random()%(60-20+1)+20;
  92. // }
  93. // printf("\n");
  94. // for (int i = 0; i<5; i++) {
  95. // printf("%d ",c[i]);
  96. // }
  97. //
  98. // printfLanou();
  99. // printfNum(5);
  100. // printf("%f ",PI()+3);
  101. // printf(" %d",square(5));
  102. // printf(" %d",sumsValue(1,9));
  103. //
  104. // int a[5]={3,5,1,2,9};
  105. // bubbleSort(a, 5);
  106.  
  107. #pragma mark --------总结数组函数
  108. //数组作为參数,把数组名传入,即数组的首地址
  109. //数组一旦创建,就有固定地址,不能操作整个数组,仅仅能操作数组中某个元素
  110. //函数能够嵌套调用,可是不能够嵌套定义
  111.  
  112. //1.编写函数int sumValeu(int n);计算1到n的和
  113. // int a = 0;
  114. // a = sumValue(101);
  115. // printf("%d",a);
  116.  
  117. //2.编写函数dayOfYear(Year,month,day)
  118. // printf("\n");
  119. // dayOfYear(2014, 1, 13);
  120.  
  121. //3.编写函数,返回三个整数的中间数
  122. // int mediu = mediumValue(2, 3,1);
  123. // printf("mediu = %d",mediu);
  124. //4,编写函数,返回正整数n中数字的个数
  125. //方法-
  126. // numbers(345);
  127. //方法二(while循环)
  128. // 5.创建⼀对⽂件:operator.h operator.m
  129. // 实现函数。对两个整型数的加、减、乘、除。
  130.  
  131. //加
  132. // add(1, 2);
  133. //减
  134. //乘
  135. //除
  136.  
  137. //6.计算 s = (2*2)! + (3*3)! +(4*4)!
  138. //1、整型数的平⽅
  139. //2、⼀个整型数的阶乘
  140. //3、三个整形的平⽅的阶乘的和
  141. //平方
  142. // square(2);
  143. // printf("平方%d", square(2));
  144. //阶乘
  145. // factorial(square(2));
  146. // printf("阶乘%d",factorial(square(2)));
  147.  
  148. //求和
  149. // int s = 0;
  150. //第一种
  151. // s = sum(factorial(square(2)), factorial(square(3)), factorial(square(4)));
  152. //另外一种
  153. // for (int i = 2; i<=4; i++) {
  154. // s=s+factorial(square(i));
  155. // }
  156. // s = factorial(5);
  157. // printf("\n");
  158. // printf("s=%d",s);
  159.  
  160. #pragma mark--------总结static
  161. //同样函数类型,同样的返回值,同样个数的參数
  162.  
  163. //(后执行期,先编译期)
  164. //凡是函数内部定义的变量都是局部变量
  165. //没有static修饰,执行期放在栈区,用完销毁
  166. //有static修饰,编译期已经放在静态区,非常占内存,仅仅能初始化一次
  167.  
  168. //用static修饰的函数,仅仅能在本文件里使用
  169. //NTFS插件
  170.  
  171. // for (int i = 0; i<10; i++) {
  172. // test();
  173. // }
  174.  
  175. return 0;
  176. }

  1. "Operator.h"
  1. //加
  2. void add(int a,int b);
  3. //减
  4. void reduce(int a,int b);
  5. //乘
  6. void multiply(int a,int b);
  7. //除
  8. void divide(int a,int b);
  9.  
  10. void test();
  1. <pre name="code" class="objc">"Operator.m"
  1.  

  1. //加
  2. void add(int a,int b)
  3. {
  4. printf("%d",a+b);
  5. }
  6. //减
  7. void reduce(int a,int b)
  8. {
  9. printf("%d",a-b);
  10. }
  11. //乘
  12. void multiply(int a,int b)
  13. {
  14. printf("%d",a*b);
  15. }
  16. //除
  17. void divide(int a,int b)
  18. {
  19. printf("%d",a/b);
  20. }
  21.  
  22. #pragma mark-------statickeyword
  23. void test()
  24. {
  25. // static int i = 10;
  26. int i = 10;
  27. printf("%d ",++i);
  28. }
  1. MyFunction.h

  1. int sumValue(int n);
  2. void dayOfYear(int year,int month,int day);
  3. int mediumValue(int o , int p ,int q);
  4.  
  5. //冒泡排序,arr是要排序的数组,count是数组的个数
  6. void bubbleSort(int arr[],int count);
  7. //帮我写一个随机数的函数
  8.  
  9. //正整数n中数字的个数
  10. void numbers(int n);
  11.  
  12. //平方
  13. int square(int x);
  14. //阶乘
  15. int factorial(int n);
  16. //求和
  17. int sum(int a, int b, int c);
  1.  
  1. MyFunction.m

  1. int sumValue(int n)
  2. {
  3. int sum = 0;
  4. for (int i = 1; i<n; i++) {
  5. sum = sum + i;//不要把n写进去
  6. }
  7. return sum;
  8. };
  9. void dayOfYear(int year,int month,int day)
  10. {
  11. //1,3,5,7,8,10,12 31天
  12. //4,6,9,11 30
  13. //2 28
  14. int days = 0;
  15. int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
  16. for (int i = 1; i<month; i++) {
  17. days = days + a[i];
  18. }
  19. if (year % 400 ==0 || (year %4 == 0 && year /100 !=0)) {
  20. if (month >2) {
  21. days = days + 1;
  22. }
  23. }
  24. days = days + day;
  25. printf("第%d天",days);
  26. }
  27.  
  28. //冒泡排序,arr是要排序的数组,count是数组的个数
  29. void bubbleSort(int arr[],int count)
  30. {
  31. for (int i = 0; i<count-1; i++) {
  32. for (int j = 0; j<count-1-i; j++) {
  33. if (arr[j]>arr[j+1]) {
  34. int temp =arr[j];
  35. arr[j] = arr[j+1];
  36. arr[j+1]=temp;
  37. }
  38. }
  39. }
  40. printf("\n");
  41. for (int i = 0; i<count; i++) {
  42. printf("%d ",arr[i]);
  43. }
  44. }
  45.  
  46. //正整数n中数字的个数
  47. void numbers(int n)
  48. {
  49. int number =n;
  50. int num[5]={1,10,100,1000,10000};
  51. printf("\n");
  52. int temp = 0;
  53. for (int i = 0; i<5; i++) {
  54. if (number/num[i] != 0) {
  55. temp = i;
  56. }
  57. }
  58. printf("正整数n中数字的个数是%d",temp+1);
  59. }
  60.  
  61. //平方
  62. int square(int x)
  63. {
  64. return x*x;
  65. }
  66.  
  67. //阶乘
  68. int factorial(int n)
  69. {
  70. // int factor = 1;//错过一次,乘法for循环累乘从0開始
  71. // for (int i = 1; i<=n; i++) {
  72. // factor = factor * i;
  73. // }
  74. // return factor;
  75.  
  76. #pragma mark-----------递归求阶乘
  77. //递归
  78. if (n == 1) {
  79. return 1 ;
  80. }
  81. return n * factorial(n-1);
  82.  
  83. }
  84. //求和
  85. int sum(int a, int b, int c)
  86. {
  87. return a+b+c;
  88. }

C语言--函数的更多相关文章

  1. 从linux0.11中起动部分代码看汇编调用c语言函数

    上一篇分析了c语言的函数调用栈情况,知道了c语言的函数调用机制后,我们来看一下,linux0.11中起动部分的代码是如何从汇编跳入c语言函数的.在LINUX 0.11中的head.s文件中会看到如下一 ...

  2. C语言(函数)学习之strstr strcasestr

    C语言(函数)学习之[strstr]&[strcasestr]一.strstr函数使用[1]函数原型char*strstr(constchar*haystack,constchar*needl ...

  3. C语言函数sscanf()的用法

    从文件读取数据是一件很麻烦的事,所幸有sscanf()函数. C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( st ...

  4. 不可或缺 Windows Native (6) - C 语言: 函数

    [源码下载] 不可或缺 Windows Native (6) - C 语言: 函数 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 函数 示例cFunction.h # ...

  5. C#委托与C语言函数指针及函数指针数组

    C#委托与C语言函数指针及函数指针数组 在使用C#时总会为委托而感到疑惑,但现在总新温习了一遍C语言后,才真正理解的委托. 其实委托就类似于C/C++里的函数指针,在函数传参时传递的是函数指针,在调用 ...

  6. swift1.2语言函数和闭包函数介绍

    swift1.2语言函数和闭包函数介绍 在编程中,随着处理问题的越来越复杂,代码量飞速增加.其中,大量的代码往往相互重复或者近似重复.如果不采有效方式加以解决,代码将很难维护. swift1.2语言函 ...

  7. Swift 1.1语言函数参数的特殊情况本地参数名外部参数名

    Swift 1.1语言函数参数的特殊情况本地参数名外部参数名 7.4  函数参数的特殊情况 声明定义有参函数时,为函数的每一个参数都定义了参数名称.根据参数名定义的形式不同,函数参数包括本地参数和外部 ...

  8. C语言函数指针基础

    本文写的非常详细,因为我想为初学者建立一个意识模型,来帮助他们理解函数指针的语法和基础.如果你不讨厌事无巨细,请尽情阅读吧. 函数指针虽然在语法上让人有些迷惑,但不失为一种有趣而强大的工具.本文将从C ...

  9. 动态修改 C 语言函数的实现

    Objective-C 作为基于 Runtime 的语言,它有非常强大的动态特性,可以在运行期间自省.进行方法调剂.为类增加属性.修改消息转发链路,在代码运行期间通过 Runtime 几乎可以修改 O ...

  10. keil or c51 汇编调用c语言函数 容易忽视的问题

    最近,在用keil 写一个小程序时,想实践一下从汇编调用 C语言函数,我们都知道C语言调用汇编函数讨论得较多,但反过来,从汇编中调用C语言的函数未见深入分析:在开始的时候,还是忽视了一个问题,就是对现 ...

随机推荐

  1. 谈谈python中的 lambda

    最近刚开始学习python,然后要加几个python的群去学习学习,但是呢有个群的申请栏要求写一个用lambda求1-100的和.....然后悲剧的就是不会啊....然后就没有然后了... 所以去网上 ...

  2. VS下面的编译错误-----转换到 COFF 期间失败: 文件无效或损坏

    最近写了一个vs的小项目,然后编译的时候vs提示了"转换到 COFF 期间失败: 文件无效或损坏"的问题. 去网上搜索了一个解决方案.原作者的链接是:http://jingyan. ...

  3. IntelIoT技术笔记Maven

    1.Maven project facet配置 错误信息: One or more constraints have not been satisfied.以及Cannot change versio ...

  4. Hibernate中的多对多关系详解(3)​

    前面两节我们讲到了一对一的关系,一对多,多对一的关系,相对来说,是比较简单的,但有时,我们也会遇到多对多的关系,比如说:角色与权限的关系,就是典型的多对多的关系,因此,我有必要对这种关系详解,以便大家 ...

  5. 如何使用GCD(ZZ)

    什么是GCD?       Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法.该方法在Mac OS X 10.6雪豹中首次推出,并随后被引入到了iOS4 ...

  6. Codeforces 161D

    树形DP: 要求找出树上距离为k的点的对数: 对于每个节点,经过这个节点的符合条件的的点有两种: 第一种:距离他为i的儿子和他爸爸中距离他爸爸为k-i-1:(不是符合的点对中的一个) 第二种:他儿子中 ...

  7. iOS-NSTimer-pause-暂停-引用循环

    7月26日更新: 今天更新的主要目的是因为暂停!!!! 注:不推荐使用,并不是这样有错,而是因为这样写代码的规范问题,代码要有可读性,遵循代码即文档,使用暂停在团队合作中可能会带来误会,非必要不建议使 ...

  8. 试试Navicat和Axere RP Pro吧

    感觉在作头作起和沟通方面,这些东东真是提高不好效率呢~~~ 由于敏感,只作载图.

  9. 玩SSH,SFTP

    更改SFTP的本地路径,记得前面要加l哟,应该表示local的意思.如lls,lcd. 证书SSH更安全.就是多服务布置有些烦琐~~

  10. mysql表分区、查看分区

    原文地址:http://blog.csdn.net/feihong247/article/details/7885199 一.       mysql分区简介 数据库分区 数据库分区是一种物理数据库设 ...