c语言,算法
我有颗小粒的痣
stay hungry stay foolish
展开
-
猜数游戏--C语言描述
猜数是学习编程语言的常见实例。在C语言中我们运用循环来决定猜数次数,用选择语句来判断猜数的大小,用函数来封装猜数功能,用递归来实现再次游戏。代码上:#include#include#includevoid GuessNumber( void ){ int count = 1, data, guessdata;//定义变量:猜数次数,随机数,猜的数 int flag原创 2017-10-28 09:06:16 · 1425 阅读 · 0 评论 -
字符串处理函数中的内存处理函数
/*字符串处理函数中的内存处理函数>库函数:string.h>函数原型:void *memcpy( void *s1, const void *s2, size_t n );void *memmove( void *s1, const void *s2, size_t n );int memcmp( const void *s1, const void *s2, size_t n );voi原创 2017-12-29 14:21:06 · 214 阅读 · 0 评论 -
标准输入输出库函数
/*标准输入输出库函数:>库函数:stdio.h>函数原型:int getchar( void );返回字符的ASCII码char *fgets( char *s, int n, FILE *stream );返回输入到s的字符串int putchar( int c );int puts( const char *s );时间:Dec 29, 2017 12:51*/#include原创 2017-12-29 14:22:12 · 1320 阅读 · 0 评论 -
大学生的自我救赎:C格式化输出
/*C格式化输出:>了解:格式控制字符串:(Format control string),由转换说明符(Conversion specifier), 标记(Flag), 域宽(Filed Width ), 精度(Precision), 文本字符(Literal character)组成。1.不同进制的打印:%d, %o, %x;2.打印浮点数:%e, 一般小数点后六位显示. %g,根据数据的绝对原创 2017-12-29 14:23:02 · 322 阅读 · 0 评论 -
大学生的自我救赎:C++ =》输出流小数点后位数控制
#include<iostream>#include<iomanip>using namespace std;int main(){ float a = 10.5; /*库函数:iomanip 函数: setiosflags(ios::fixed);->将流的格式设置为:fixed(将一个浮点数表示为一个定点整...原创 2018-04-23 18:48:59 · 484 阅读 · 0 评论 -
大学生的自我救赎:C++ =》强制类型转换
静态类型转换,无条件转换#include<iostream>using namespace std;int main(){ float a = 10.5; cout<<static_cast<int>(a)<<endl; return 0;}原创 2018-04-23 18:53:09 · 148 阅读 · 0 评论 -
大学生的自我救赎:C++=》内联函数
内联函数内联函数的主要优点就是提高程序的高效性。注意事项使用内联函数的时候要注意: 1.递归函数不能定义为内联函数 2.内联函数一般适合于不存在while和switch等复杂的结构且只有1~5条语句的小函数上,否则编译系统将该函数视为普通函数。 3.内联函数只能先定义后使用,否则编译系统也会把它认为是普通函数。 4.对内联函数不能进行异常的接口声明。 注意:来源于百...原创 2018-04-23 19:09:25 · 159 阅读 · 0 评论 -
大学生的小乐趣:C++ 扫雷游戏的制作
#ifndef SAOLEI_H#define SAOLEI_Hclass Block{ friend class Saoleigame;public: Block(); bool isShown(); void setnum(int); int getnum(); bool isbomb();protected: int num...原创 2018-05-17 21:19:54 · 2298 阅读 · 1 评论 -
字符串处理函数的用法案例
/*字符串处理函数:>库函数:string.h>函数原型:char *strcpy( char *s1, const char *s2 );//copy字符串函数,返回s1的值,s2->s1;char *strncpy( char *s1, const char *s2, size_t n );//s2->s1 至多复制n个字符char *strcat( char *s1, const原创 2017-12-29 14:20:26 · 273 阅读 · 0 评论 -
关于字符串转换函数用法案例
/*字符串转换函数的使用和区别:>库函数:stdlib.h>函数原型:double strtod( const char *nPtr, char **endPtr );long strtil( const char *nPtr, char **endPtr, int base );unsigned long strtoul( const char *nPtr, char **endPtr原创 2017-12-29 14:17:39 · 252 阅读 · 0 评论 -
关于字符串的sizeof()和strlen()
const char *“WYKXLDZ”这样的一个字符串的类型是const char*,所以我们在申明字符串的时候可以使用这样的形式:const char *str = "123456";printf("%lu\n", sizeof( str ) );printf("%lu\n", strlen( str ) ); 控制台显示的是8,6 注:指针占的字节数是8其实我们也是可以省略c原创 2017-12-14 23:04:47 · 662 阅读 · 0 评论 -
寻找最大公因数(欧几里得算法)--C语言描述
代码上:unsigned int Gcd( unsigned int M, unsigned int N ){//计算最大公因数 int Rem; while( N > 0 ){ Rem = M % N; M = N; N = Rem; } return M;}原创 2017-10-25 08:55:44 · 1331 阅读 · 0 评论 -
二分查找(C语言描述)
二分查找是比较简单的一种搜寻方式,但是它必须基于一个已排序的数组,换句话说的话,也就是二分查找是需要一个比较来判断是往哪一方缩小查找区间:建议查找益于比较的数据:例如数字代码上:/*对分查找*/#includeint BinarySearch(const int A[], int X, int N );//定义对分查找函数 函数的参数为(元素数组, 查找的元素, 数组的原创 2017-10-23 23:20:56 · 298 阅读 · 0 评论 -
C语言指针细节_1
#includeint main(){ const char *colorptr = "color"; for( int i = 0; i <= 4; i++ ){ printf("%c", *( colorptr + i)); } return 0;}控制带输出结果:color请按任意键继续. . .===》colorptr代表的时字符的地址,并且用原创 2017-11-01 08:42:46 · 219 阅读 · 0 评论 -
C语言用递归方法求解阶乘
一般我们求解阶乘用的时迭代的方法,即使用循环语句来实现功能,这次我们用的是递归的方法:long int Factral( long int N ){ if( N > 1 ){ return N * Factral( N - 1 ); } else{ return 1; }}原创 2017-11-01 09:36:26 · 3248 阅读 · 0 评论 -
关于素数的求解
求解素数需要用到循环,为了节省循环次数,我们进行了开根的操作:代码如下:#include#includebool isPrime( int N ){ if( N == 1 ) return false; if( N == 2 ) return true; for( int i = 2; i <= sqrt( (float) N ); i++ ){ if( N %原创 2017-11-02 11:11:38 · 182 阅读 · 0 评论 -
取幂运算--C语言描述
代码上:/*高效率的取幂运算*/#includelong int Pow( long int X, unsigned int N );//取幂函数bool IsEven( unsigned int N );//判断偶数函数int main()//主函数入口{ printf("%ld\n", Pow( 5, 2));//测试 return 0;}long int Pow原创 2017-10-25 14:16:38 · 1607 阅读 · 0 评论 -
关于struct ( 结构体 )的一些注意事项:
结构体的最好声明方式:typedef struct{ int a; char b; float c;} Simple;所以当我们使用结构体是可以简化操作:Simple x;Simple y[20], *z;访问结构体成员时,一般用点操作符( . );要注意的是点操作符的综合性是从左向右的,并且点操作符的优先级高于间接访问操作原创 2017-12-11 21:35:16 · 734 阅读 · 0 评论 -
结构体的存储分配问题
边界对齐要求struct ALIGN{ char a; int b; char c;};那么这样的结构将会花费12个字节(因为int 类型是占用了4个字节的,char类型占用1个字节,所以边界对齐原则,需要12个字节) 但是我们实际用的是6个字节的大小,这样的话我们的存储利用率是比较低的.所以我们的改进方法就是调整结构声明的顺序就可以了,让那些对边界要求最严格的成员首次原创 2017-12-11 22:52:56 · 276 阅读 · 0 评论 -
关于判断输入字符的单词个数的非数组做法
以空格为分界单词的元素,空格可多个,空格可在首单词之前。代码先上#includeint main(){ char c; int flag = 0; int counter = 0; while( ( c = getchar() ) != '\n' ) { if( c != 32 ) { if( flag ) { continue; }原创 2017-11-26 20:26:20 · 229 阅读 · 1 评论 -
全排列
详情见:https://www.cnblogs.com/xmfdsh/p/4048086.html原创 2019-02-18 14:28:40 · 136 阅读 · 0 评论