黑马程序员--C语言基础-几个常用函数
2015-04-09 23:39
295 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
#include <stdio.h>
int main(int argc,
const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
return 0;
}
一,翻译数字
void printNum(int num) {
switch (num) {
case 1:printf("一");
break;
case 2:printf("二");
break;
case 3:printf("三");
break;
case 4:printf("四");
break;
case 5:printf("五");
break;
case 6:printf("六");
break;
case 7:printf("七");
break;
case 8:printf("八");
break;
case 9:printf("九");
break;
case 10:printf("十");break;
}
}
int main(int argc,
const char * argv[]) {
//
// 两位数
// 10 直接翻译
// 11 十位 == 1 &&
个位 != 0 十 + 汉字直接翻译数字
// 20 十位 != 1 &&
个位 == 0 十位直接翻译 +
十
// 21 十位 != 1 &&
个位 != 0 十位汉字直接翻译 +
十 + 个位直接翻译
// 1,提示用户输入数字 //
不考了 02 2011年02月09日
int num, shi, ge;
printf("请输入一个两位数字:");
scanf("%d", &num);
// 2,获得个位与十位的数字
shi = num / 10;
ge = num % 10;
// 3,分组判断
//
if(num == 10) {
printf("十\n");
} else if( shi !=
1 && ge != 0 ) {
// 十位 != 1 &&
个位 != 0 十位汉字直接翻译 +
十 + 个位直接翻译
// 如何直接翻译
printNum(shi);
printNum(10);
printNum(ge);
} else if( shi !=
1 ) {
// 十位 != 1 &&
个位 == 0 十位直接翻译 +
十
printNum(shi);
printNum(10);
} else {
// 十位 == 1 &&
个位 != 0 十 + 汉字直接翻译数字
printNum(10);
printNum(ge);
}
printf("\n");
return 0;
}
二,打印一个矩形
void printJuXing() {
// 打印一行
/*
for(int i = 0; i < 30; i++) {
printf("*");
}
printf("\n");
for(int i = 0; i < 30; i++) {
printf("*");
}
printf("\n");
for(int i = 0; i < 30; i++) {
printf("*");
}
printf("\n");
for(int i = 0; i < 30; i++) {
printf("*");
}
printf("\n");
for(int i = 0; i < 30; i++) {
printf("*");
}
printf("\n");
*/
for (int j =
0; j < 5; j++) {
for(int i =
0; i < 30; i++) {
printf("*");
}
printf("\n");
}
}
三,递归函数
// 递归函数最核心的亮点,一是跳出条件,结束递归的条件,二是递归体
// 递推关系(=递归)
// Fibnacci数列
// 0
// 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
// 第n项是第n-1项加上第n-2项
// fib(n) == fib(n-1) + fib(n-2)
int count = 0;
int fib(int n) {
count++;
// 什么时候跳出来?
if(n == 0 || n ==
1) return 1;
return fib(n - 1) + fib(n -
2);
}
// 利用递归算阶乘
// n!
// n的阶乘就是从1一直累乘到n本身
// n! = (n-1)! * n
//
int func(int num) {
// 跳出条件
if(num == 1)
return 1;
return func(num - 1) * num;
}
int func1(int num) {
int i = 1, cross =
1;
for (; i <= num; i++) {
cross *= i;
}
return cross;
}
// 利用递归实现 power函数
// power(2 , 3) = power(2 , 2) * 2
int main(int argc,
const char * argv[]) {
// insert code here...
// printf("Hello, World!\n");
// func();
/*
for (int i = 1; i < 10 ; i++) {
// printf("%d\t%d\n", i, fib(i));
printf("%d, 循环结果为%d,
递归结果为%d\n", i, func1(i), func(i));
}
*/
fib(9);
printf("执行了%d次\n", count);
// 6:25 7:41
return 0;
}
#include <stdio.h>
int main(int argc,
const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
return 0;
}
一,翻译数字
void printNum(int num) {
switch (num) {
case 1:printf("一");
break;
case 2:printf("二");
break;
case 3:printf("三");
break;
case 4:printf("四");
break;
case 5:printf("五");
break;
case 6:printf("六");
break;
case 7:printf("七");
break;
case 8:printf("八");
break;
case 9:printf("九");
break;
case 10:printf("十");break;
}
}
int main(int argc,
const char * argv[]) {
//
// 两位数
// 10 直接翻译
// 11 十位 == 1 &&
个位 != 0 十 + 汉字直接翻译数字
// 20 十位 != 1 &&
个位 == 0 十位直接翻译 +
十
// 21 十位 != 1 &&
个位 != 0 十位汉字直接翻译 +
十 + 个位直接翻译
// 1,提示用户输入数字 //
不考了 02 2011年02月09日
int num, shi, ge;
printf("请输入一个两位数字:");
scanf("%d", &num);
// 2,获得个位与十位的数字
shi = num / 10;
ge = num % 10;
// 3,分组判断
//
if(num == 10) {
printf("十\n");
} else if( shi !=
1 && ge != 0 ) {
// 十位 != 1 &&
个位 != 0 十位汉字直接翻译 +
十 + 个位直接翻译
// 如何直接翻译
printNum(shi);
printNum(10);
printNum(ge);
} else if( shi !=
1 ) {
// 十位 != 1 &&
个位 == 0 十位直接翻译 +
十
printNum(shi);
printNum(10);
} else {
// 十位 == 1 &&
个位 != 0 十 + 汉字直接翻译数字
printNum(10);
printNum(ge);
}
printf("\n");
return 0;
}
二,打印一个矩形
void printJuXing() {
// 打印一行
/*
for(int i = 0; i < 30; i++) {
printf("*");
}
printf("\n");
for(int i = 0; i < 30; i++) {
printf("*");
}
printf("\n");
for(int i = 0; i < 30; i++) {
printf("*");
}
printf("\n");
for(int i = 0; i < 30; i++) {
printf("*");
}
printf("\n");
for(int i = 0; i < 30; i++) {
printf("*");
}
printf("\n");
*/
for (int j =
0; j < 5; j++) {
for(int i =
0; i < 30; i++) {
printf("*");
}
printf("\n");
}
}
三,递归函数
// 递归函数最核心的亮点,一是跳出条件,结束递归的条件,二是递归体
// 递推关系(=递归)
// Fibnacci数列
// 0
// 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
// 第n项是第n-1项加上第n-2项
// fib(n) == fib(n-1) + fib(n-2)
int count = 0;
int fib(int n) {
count++;
// 什么时候跳出来?
if(n == 0 || n ==
1) return 1;
return fib(n - 1) + fib(n -
2);
}
// 利用递归算阶乘
// n!
// n的阶乘就是从1一直累乘到n本身
// n! = (n-1)! * n
//
int func(int num) {
// 跳出条件
if(num == 1)
return 1;
return func(num - 1) * num;
}
int func1(int num) {
int i = 1, cross =
1;
for (; i <= num; i++) {
cross *= i;
}
return cross;
}
// 利用递归实现 power函数
// power(2 , 3) = power(2 , 2) * 2
int main(int argc,
const char * argv[]) {
// insert code here...
// printf("Hello, World!\n");
// func();
/*
for (int i = 1; i < 10 ; i++) {
// printf("%d\t%d\n", i, fib(i));
printf("%d, 循环结果为%d,
递归结果为%d\n", i, func1(i), func(i));
}
*/
fib(9);
printf("执行了%d次\n", count);
// 6:25 7:41
return 0;
}
相关文章推荐
- 黑马程序员_3 C语言基础-函数-进制-位运算
- 黑马程序员_iOS开发C语言基础之函数
- c#基础语言编程-常用函数
- C语言基础1:几个常用关键字的解析
- 黑马程序员——Java语言基础组成(二)之函数
- 黑马程序员-IOS-C语言基础-函数及内存剖析
- 黑马程序员——C语言基础——函数
- 黑马程序员——C语言基础(四)函数
- 黑马程序员——Java语言基础(二)---程序流程控制语句、函数
- 黑马程序员——c语言基础:指针函数和函数指针
- 四 CocosEditor基础教程第二季 之几个常用的函数
- 黑马程序员--Java语言基础2-流程控制和函数
- 黑马程序员——C语言基础--函数的学习总结
- 黑马程序员--C语言基础之--变量、内部函数与外部函数
- 黑马程序员_JAVA语言基础组成_函数
- C语言基础——字符串及常用函数
- 黑马程序员——Java语言基础——02.java语言基础组成(3)函数
- R语言入门基础教程:常用运算函数
- 黑马程序员——C语言基础语法--函数、进制、内存分析
- 黑马程序员--C语言基础-函数