C语言 百炼成钢18
//题目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的更多相关文章
- C语言 百炼成钢19
/* 题目55: 有一个字符串符合以下特征(”abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";),要求写一个函数(接口),输出以下结果 1) 以逗号分割字符串, ...
- C语言 百炼成钢10
//题目28:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第 //3个人大2岁.问第三个人,又说比第2人大两岁.问第2个人,说比第一个人大两岁.最后 //问第一个人 ...
- C语言 百炼成钢6
//题目16:输入两个正整数m和n,求其最大公约数和最小公倍数. #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include< ...
- C程序设计语言练习题1-8
练习1-8 编写一个统计空格.制表符与换行符个数的程序. 代码如下: #include <stdio.h> // 包含标准库的信息. int main() // 定义名为main的函数,它 ...
- Java入门 - 语言基础 - 18.正则表达式
原文地址:http://www.work100.net/training/java-regular-expression.html 更多教程:光束云 - 免费课程 正则表达式 序号 文内章节 视频 1 ...
- C语言 百炼成钢3
//题目7:用*号输出空心菱形图案 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> # ...
- C语言 百炼成钢2
//题目4:输入某年某月某日,判断这一天是这一年的第几天? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<st ...
- C语言 百炼成钢1
//题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> ...
- C语言 百炼成钢17
//题目49:老师将糖果分成若干份,让学生按任意次序领取,第一个领取的,得到1份加上剩余糖果的1/10, //第二个领取的,得到2份加上剩余糖果的1/10,第三个领取的,得到3份加上剩余糖果的1/10 ...
随机推荐
- Android—Ormlite框架简单的操作数据库
大家在Android项目中或多或少的都会使用数据库,为了提高我们的开发效率,当然少不了数据库ORM框架了,尤其是某些数据库操作特别频繁的app:本篇博客将详细介绍ORMLite的简易用法. 下面开始介 ...
- 【读书笔记】iOS-写代码注意事项
一,我是尽早和经常编译的强烈支持者.通常,在写完每个方法或有点难度的代码后,都要尝试进行构建.这是一个好习惯,因为如果在上次成功编译以来添加的代码量很小,那么可以非常容易地缩小编译错误范围.这个方法还 ...
- Java从零开始学四十三(DOM4j解析XML)
一.创建XML // 建立XML public static void gernatorXML() { // 创建Document对象 Document doc = DocumentHelper.cr ...
- Java 参数传递都是值传递
Java 参数传递都是值传递,验证代码如下 public class ParamTransferTest { public static void swap(int a, int b) { int t ...
- chrome浏览器font-size<12px无效解决办法
当样式设定font-size<12px时,chrome浏览器里字体显示仍为12px:如font-size:11px; 但是chrome还是12px的大小,很不听话. 今天我就遇到了这样的问题?网 ...
- Python基本数据结构-字典-创建/访问/基本操作/格式化输出
- 问题解决——基于MSCOMM32.OCX控件的类在客户机不能创建控件
大家不要笑我了,我不喜欢用那个人家写的串口类. 所以导出了MSCOMM32.OCX的类,然后在此基础上写了一个串口打印机的小工具类. -------------声明--------------- 本文 ...
- Android 开发之 Android 开发的起步
前言 Android 开发的起步 我们可以先来看看百科上面怎么说? 百度百科上 Android的介绍 一.Windows环境下在线搭建Android环境. 1. 下载 Android开发工具. JD ...
- ExtJS之开篇:我来了
以前做web开发一直在用jquery框架,或者开发html5用到backbone.js+sea.js+underscore.js等,现在做网站后台要用到extjs了,结合spring mvc,正式学习 ...
- maven搭建详解
1, 下载 官方下载地址: maven_download, 最新版 apache-maven-3.0.5-bin.tar.gz 官方地址: maven 2, 解压 tar zxvf a ...