//题目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. Android DiskLruCache 硬盘缓存

    概述 记得在很早之前,我有写过一篇文章Android高效加载大图.多图解决方案,有效避免程序OOM,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache技 ...

  2. Android常用设计模式(一)

    java有23中设计模式,Android中也用到了很多的设计模式,本篇就来介绍Android中常用的几种设计模式 一.普通工厂设计模式 普通工厂设计模式,就是创建一个工厂类负责创建对象 ,用户根据需求 ...

  3. iOS开发笔记12:iOS7上UITextField限制字数输入导致崩溃问题

    在一些场景中,需要限制用户的输入字数,例如在textField里进行控制(textView也类似,崩溃原因也相同),如图所示 系统会监听文本输入,需要注意的第一点是输入法处于联想输入还未确定提交的时候 ...

  4. LCS修改版(Longest Common Subsequence 最长公共子序列)

    题目描述 作为一名情报局特工,Nova君(2号)有着特殊的传达情报的技巧.为了避免被窃取情报,每次传达时,他都会发出两句旁人看来意义不明话,实际上暗号已经暗含其中.解密的方法很简单,分别从两句话里删掉 ...

  5. [Weblogic]如何清理缓存

    背景:在开发调试或测试时,很多时候重新更新部署服务后会发现某些更新并没有体现到,还是之前的情况,也或者会出现其他错误问题,这个时候就要考虑到可能是weblogic缓存未清理引起. 清理缓存步骤如下: ...

  6. mysql数据库---同时插入两个表以上的数据

    mysql数据库问题,如何同一个操作添加两个表(a表,b表),并把b表的id添加到a表字段中,b表id自动增长 在数据库中创建存储过程,比如存储过程的名字叫做 test在java中和正常使用sql的方 ...

  7. 设计模式C#实现(七)——生成器模式

    生成器模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. UML类图: 构成: 1.Builder(接口/抽象类)定义了创建一个产品Product的各个部件的方法,返回创 ...

  8. javascript 特效实现(3)—— 鼠标滑过显示二级菜单效果

    1. 关键代码:使用 switch 或 if 判断语句,改变对应的二级菜单显示方式为 block 或 none function selectTabMenu(i){ switch(i){ case 7 ...

  9. Linux syslog介绍

    一.简介 syslog是Linux系统默认的日志守护进程.默认的主配置文件和辅助配置文件分别是/etc/syslog.conf和/etc/sysconfig/syslog文件.通常,syslog 接受 ...

  10. Git指令总结和图表

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...