题记 今天的内容更像是一种思想上的启发。开篇立意——模块化思想。个人认为在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初始化好的数组传入 没有真正意义上个的调用函数在函数内部初始化然后返回。
···
···生命不息奋斗不止