//题目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");
}

C语言 百炼成钢18的更多相关文章

  1. C语言 百炼成钢19

    /* 题目55: 有一个字符串符合以下特征(”abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";),要求写一个函数(接口),输出以下结果 1) 以逗号分割字符串, ...

  2. C语言 百炼成钢10

    //题目28:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第 //3个人大2岁.问第三个人,又说比第2人大两岁.问第2个人,说比第一个人大两岁.最后 //问第一个人 ...

  3. C语言 百炼成钢6

    //题目16:输入两个正整数m和n,求其最大公约数和最小公倍数. #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include< ...

  4. C程序设计语言练习题1-8

    练习1-8 编写一个统计空格.制表符与换行符个数的程序. 代码如下: #include <stdio.h> // 包含标准库的信息. int main() // 定义名为main的函数,它 ...

  5. Java入门 - 语言基础 - 18.正则表达式

    原文地址:http://www.work100.net/training/java-regular-expression.html 更多教程:光束云 - 免费课程 正则表达式 序号 文内章节 视频 1 ...

  6. C语言 百炼成钢3

    //题目7:用*号输出空心菱形图案 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> # ...

  7. C语言 百炼成钢2

    //题目4:输入某年某月某日,判断这一天是这一年的第几天? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<st ...

  8. C语言 百炼成钢1

    //题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> ...

  9. C语言 百炼成钢17

    //题目49:老师将糖果分成若干份,让学生按任意次序领取,第一个领取的,得到1份加上剩余糖果的1/10, //第二个领取的,得到2份加上剩余糖果的1/10,第三个领取的,得到3份加上剩余糖果的1/10 ...

随机推荐

  1. 【原】error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string'

    今天遇到一个非常难以排查的BUG,谷歌度娘都问过了依旧无解,最后自己重新尝试之后找到解决方案: 先看一下报错信息: 1>.\lenz.cpp(2197)  error C2679: binary ...

  2. iOS开发Facebook POP动效库使用教程

    如果说Origami这款动效原型工具是Facebook Paper的幕后功臣,那么POP便是Origami的地基.感谢Facebook开源了POP动效库,让人人都能制作出华丽的动效.我们只需5步,便能 ...

  3. Win10 下使用 ionic 框架开发 android 应用之搭载开发环境

    转载请注明出处:http://www.cnblogs.com/titibili/p/5102035.html 谢谢~ 1.下载JDK并配置Java运行环境 http://www.oracle.com/ ...

  4. 推些C语言与算法书籍

    c语言系统学习与进阶: 1. C primer plus C primer plus 作为一本被人推崇备至的 c 入门经典,C primer plus 绝非浪得虚名.应该 算得上 C 教材里最好的入门 ...

  5. paas架构之docker——容器进程管理

    1.docker进程管理 docker的进程管理命令ps的用法基本和ubuntu系统的用法一致 1.1. 查看docker进程 sudo docker ps –a 1.2. 附着到容器上 Sudo d ...

  6. Linux磁盘、目录、文件操作命令

    0x01. Linux磁盘分区与目录结构 ① 主分区.拓展分区.逻辑分区:早期主引导扇区MBR用64B存放主分区信息,每个分区用16B,因而上限为4个主分区,后来,因分区需求,引入拓展分区(类主分区) ...

  7. InfluxDB数据备份与恢复

    数据备份与恢复 Example:(192.167.8.13 InfluxDB:DeviceHistory备份到192.167.8.52,然后恢复到该服务器上)   steps:   login 192 ...

  8. HTTPS连接的前几毫秒发生了什么——Amazon HTTPS案例分析

    转自: http://blog.jobbole.com/48369/ 提示:英文原文写于2009年,当时的Firefox和最新版的Firefox,界面也有很大改动.以下是正文. 花了数小时阅读了如潮的 ...

  9. 通过java来批量生成身份证号

    通过java来批量生成身份证号,方便来测试程序. package com.diyvc.controller.user; import java.util.Calendar; import java.u ...

  10. C++模板(一)

    1. 模板的概念. 我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同.正确的调用重载函数.例如,为求两个数的最大值,我们定义MAX()函数 ...