题记 今天的内容更像是一种思想上的启发。开篇立意——模块化思想。个人认为在Java中体现的淋漓尽致,个人认为就像是将一个或者一组项目中的功能程序(或者功能函数),进行模块化(写在程序Main之外 需要时进行调用 流水线)然后组装成需要的程序。一个模块一个内容。

之前的 打印乘法表 可以人为控制

需求分析: 一个程序可以按照要求打印出所需要的乘法表可以控制
过程分析:
1.创建一个函数这个函数可以打印乘法表
2.函数内部变量两个 行和列 外部传入实参为 乘法表的行数
3.行数递增变化与列数相同
代码展示:

int Mult(int num){
  /*
  	思路 确定变量 在乘法表中两个变量 行 和 列
  	可控制的量为  行 ,行影响列
  	利用 两个  for 第一个for 循环行 第二个for循环列
  */
  int Line=0;
  int Colu=0;
  for (Line = 1; Line<= num; Line++){
  	for (Colu = 1; Colu <=Line; Colu++){
  		printf(\"%d*%d=%d \",Line,Colu,(Line*Colu));
  	}
  	printf(\"\\n\");
  }

}
int main(){
  int num;
  printf(\"请输入参数:\\n\");
  scanf(\"%d\", &num);
  Mult(num);

  system(\"pause\");
  return 0;
}

总结: 代码实际分为两个模块 main 和 Mult 部分 主要功能在函数内部执行
补充一类似程序 判断年份

int Judg(int year){
	if ((year%4==0)&&(year%100==0)||(year%100==0)){
		return 1;
	}
	return 0;
}
int main(){
	int year;
	printf(\"输入一个年份:\");
	scanf(\"%d\",&year);
	if (Judg(year)){
		printf(\"是\");
	}
	else{
		printf(\"否\");
	}
	system(\"pause\");
	return 0;
}

总结:判断年份程序有两个模块组成 Judg与 main 在Judg中实现对年份的判断 最后返回判断结果

数组的需求

需求分析:
1.实现函数init()初始化数组、
2.实现empty()清空数组、
3.实现reverse()函数完成数组元素的逆置。
过程分析:
1.实现数组初始化传入一个待定数组 、调用在函数体内部
2.实现清空数组 传入一个待定数组 在调用函数体内部完成清空
3传入待定数组 调用函数完成逆置
代码展示:

#define _CRT_SECURE_NO_WARNINGS 1
#include \"stdio.h\"
#include \"stdlib.h\"
int init(int arr[], int len){
   int i = 0;
   for (i = 1; i <= len; i++){
   	printf(\"赋初值:\");
   	scanf(\"%d\", &arr[i]);
   }
}
int empty(int arr[], int len){
   int i = 0;
   for (i = 1; i <= len; i++){
   	arr[i] = 0;
   }
}
int reverse(int arr[], int len){
   int i = 0;
   for (len - 1; len > 0; len--){
   	printf(\"逆置数组\");
   	scanf(\"%d\", &arr[i]);
   }
}
int menu(){
   printf(\"/////  选择操作     /////\\n\");
   printf(\"///// 1.初始化数组  /////\\n \");
   printf(\"///// 2.清空数组    /////\\n\");
   printf(\"///// 3.逆置数组    /////\\n\");
}
int main(){
   int len;
   int arr[100];

   int input;
   printf(\"指定数组长度\");
   scanf(\"%d\", &len);
   menu();
   scanf(\"%d\", &input);
   switch (input){
   case 1:
   	init(arr, len);
   	break;
   case 2:
   	empty(arr, len);
   	break;
   case 3:
   	reverse(arr, len);
   	break;
   default:
   	break;
   }



   printf(\"%d\", arr[4]);
   system(\"pause\");
   return 0;
}

总结:该程序我个人在主函数使用 switch 将需求的功能函数通过菜单展示,由用户选择进入所需功能每个函数传入参数 为 待定数组与数组长度 数组长度由用户指定
不足:初始化数组函数没有真正的进行 初始化 实际上 还是将C初始化好的数组传入 没有真正意义上个的调用函数在函数内部初始化然后返回。
···
···生命不息奋斗不止

收藏 打印