//题目52:用递归打印以下图形
//*
//*.*.
//*..*..*..
//*...*...*...*...
//*....*....*....*....*.... #include<stdio.h>
#include<stdlib.h> //分析:熟练使用递归,递归比较难以理解,可以先写出for循环,再写递归
//递归的一般形式
//void 函数名(参数列表){
// if (终止条件)
// {
// return;
// }
// else{
// //执行的操作
// //调用本身
// }
//} int m = , n = ;
void run111(int num){
if (num==)
{
return;
}
else{
printf("*");
for (int k = ; k < n - ; k++)
{
printf(".");
}
run111(num - );
//
}
} void run10(int num){
if (num == )
{
return;
}
else{
m = n = num;
run111(num);
printf("\n");
run10(num + );
}
} void main(){
run10();
/*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("\n");
}*/ system("pause");
}
//题目53:有一个字符串开头或结尾含有n个空格(” abcdefgdddd ”),欲去掉前后空格,返回一个新字符串。
//请自己定义一个接口(函数),并实现功能 #include<stdio.h>
#include<stdlib.h> int trimSpace(char *pin, char *pout){
//定义返回数据
int ERRO_MSG = ;
//检测输入数据
if (pin == NULL||pout==NULL)
{
ERRO_MSG = 1;
printf("pin == NULL||pout==NULL err0 msg:%d\n", ERRO_MSG);
return ERRO_MSG;
}
//遍历输入字符串
while (*pin != '\0'){
//ascll码中 32是空格
//判断字符是否是空格
if (*pin!=)
{
//如果不是空格压入字符数组pout中
*pout++ = *pin;
}
pin++;
}
//字符串是以'\0'结尾的
*pout = '\0';
return ERRO_MSG;
} void main(){
char *p = " abcdefgd ddd";
//定义新字符串数组
char p1[];
//调用函数
trimSpace(p, p1);
printf("%s\n", p1);
system("pause");
}
//题目54:有一个字符串”1a2b3d4z”,;
//要求写一个函数实现如下功能,
//功能1:把偶数位字符挑选出来,组成一个字符串1。valude;20分
//功能2:把奇数位字符挑选出来,组成一个字符串2,valude 20
//功能3:把字符串1和字符串2,通过函数参数,传送给main,并打印。
//功能4:主函数能测试通过。 #include<stdio.h>
#include<stdlib.h> //分析:需要输入2个字符串,加上原始字符串,需要三个参数
int getStr1Str2(char *pin,char *pout1,char *pout2){
int ERRO_MSG = ;
int index = ;
//判断传入数据是否规范
if (pin == NULL || pout1 == NULL || pout2==NULL)
{
ERRO_MSG = ;
printf("pin == NULL || pout1 == NULL || pout2==NULL err0 msg:%d\n", ERRO_MSG);
return ERRO_MSG;
}
do{
if (index%==)
{
//奇数
*pout1++ = *pin;
}
else{
//偶数
*pout2++ = *pin;
}
index++;
} while (*pin++ != '\0');
*pout1 = *pout2 = '\0';
return ERRO_MSG;
} void main(){
char *p = "1a2b3d4z";
char p1[], p2[];
//p1奇数 p2偶数
getStr1Str2(p, p1, p2);
printf("奇数字符串是%s,偶数字符串是%s\n",p1,p2);
system("pause");
}