//题目52:用递归打印以下图形 //* //*.*. //*..*..*.. //*...*...*...*... //*....*....*....*....*.... #include<stdio.h> #include<stdlib.h> //分析:熟练使用递归,递归比较难以理解,可以先写出for循环,再写递归 //递归的一般形式 //void 函数名(参数列表){ // if (终止条件) // { // return; // } // else{ // //执行的操作 // //调用本身 // } //} int m = 0, n = 0; void run111(int num){ if (num==0) { return; } else{ printf("*"); for (int k = 0; k < n - 1; k++) { printf("."); } run111(num - 1); // } } void run10(int num){ if (num == 10) { return; } else{ m = n = num; run111(num); printf(" "); run10(num + 1); } } void main(){ run10(1); /*int m = 0,n=0; for (int i = 1; i < 10; i++) { m=n = i; while (m){ printf("*"); for (int k = 0; k < n - 1; k++) { printf("."); } m--; } printf(" "); }*/ system("pause"); }
//题目53:有一个字符串开头或结尾含有n个空格(” abcdefgdddd ”),欲去掉前后空格,返回一个新字符串。 //请自己定义一个接口(函数),并实现功能 #include<stdio.h> #include<stdlib.h> int trimSpace(char *pin, char *pout){ //定义返回数据 int ERRO_MSG = 0; //检测输入数据 if (pin == NULL||pout==NULL) {
ERRO_MSG = 1; printf("pin == NULL||pout==NULL err0 msg:%d ", ERRO_MSG); return ERRO_MSG; } //遍历输入字符串 while (*pin != '