习题 :任意输入十个数按大小排序;构造简单数学运算模块(形参和实参)
任意输入十个数字,按从大到小的顺序排列
1 #define _CRT_SECURE_NO_WARNINGS 2 #include "stdio.h" 3 int main(int argc, char* argv[]) 4 { 5 int a[10]; 6 int i, j, d; 7 printf("请输入十个整数,用空格隔开:"); 8 for (i = 0; i<10; i++) 9 { 10 scanf("%d", &a[i]); 11 } 12 for (i = 0; i<9; i++) 13 { 14 for (j = i + 1; j<10; j++) 15 { 16 if (a[i]<a[j]) 17 { 18 d = a[i]; 19 a[i] = a[j]; 20 a[j] = d; 21 } 22 } 23 } 24 for (i = 0; i<10; i++) 25 { 26 printf("%d ", a[i]); 27 } 28 return 0; 29 }
设置减法运算模块:
1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <stdlib.h> 4 int jianfa(int x, int y){ 5 return x - y; 6 } 7 int main(){ 8 int num1 = 0; 9 int num2 = 0; 10 printf("输入两个数,中间用逗号隔开\n"); 11 scanf("%d,%d", &num1, &num2); 12 int num = jianfa(num1, num2); 13 printf("num=%d\n", num); 14 system("pause"); 15 }
设置 乘除法混合运算 模块
1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <stdlib.h> 4 int chufa(int x, int y,int z){ 5 return x*y/z; 6 } 7 int main(){ 8 int num1 = 0; 9 int num2 = 0; 10 int num3 = 0; 11 printf("输入三个数,中间用逗号隔开\n"); 12 scanf("%d,%d,%d", &num1, &num2,&num3); 13 int num = 3*chufa(num1, num2,num3); 14 printf("num=%d\n", num); 15 system("pause"); 16 }
int num = 3*chufa(num1, num2,num3);
这里有这句指令,将该结果扩大三倍,40->120
*通过上面两个程序引出形参和实参的概念:
通俗的来讲,形参就像物理计算中的公式中的符号,比如Ω,A,V等,而实参就是在计算中的实际的数值。调用过程就是实现形参与实参的结合,把实参的值通过调用传递给形参,相当于把具体的值代入公式进行计算。
具体区别:
区别1
形参只能是变量,在被定义的函数中,必须指定形参的类型。
实参可以是常量、变量、表达式、函数等,
区别2
没有确定的值
无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。
区别3
形参变量在未出现函数调用时,并不占用内存,只在调用时才占用。调用结束后,将释放内存。
开辟内存存储数据
联系
形参和实参的类型应相同或赋值兼容