C
文章平均质量分 51
nixindong1984
这个作者很懒,什么都没留下…
展开
-
阶乘(递归方式)
/* 主题:用递归的方法来实现阶乘 开发环境:Visual Studio 开发语言:C*/#include #include unsigned long long fact(int n);int main(void){ int n = 0; puts("请输入数值:"); scanf("%d", &n); printf("%llu\n", fact(n)); ret原创 2012-09-25 16:16:25 · 370 阅读 · 0 评论 -
编程实现strcpy函数
/* 主题:实现strcpy函数 已知strcpy函数的原型是: char *strcpy(char *srtDest, char *strSrc);*/#include char *strcpy(char *strDest, const char *strSrc);int getStrLen (const char *strSrc);int main(void){ cha原创 2012-09-13 15:28:49 · 657 阅读 · 0 评论 -
深入了解scanf()/getchar()和gets()等函数
----------------------------------------------------| 问题描述一:(分析scanf()和gets()读取字符) |---------------------------------------------------- scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特转载 2012-09-11 15:23:27 · 331 阅读 · 0 评论 -
回文数的判断
/* 主题:回文数的判断*/#include unsigned int symmetry (unsigned int n);int main (void){ int a = 356563; if (a == symmetry(a)) { puts("是回文数"); } else { puts("不是回文数"); } return 0;}/* 函原创 2012-09-11 09:50:32 · 320 阅读 · 0 评论 -
将一个字符串中的小写字母改为大写字母
/* 主题:将一个字符串中的小写字母改为大写字母*/#include void big_lower(char *ops);int main(void){ /* 这里的字符串用数组形式来表示,如果用char *p = "hello"这种形式来表示 它是不能被修改的。 */ char src[] = "abcdefghIJKlmnopq"; /* 字符串数组以指原创 2012-09-11 09:23:22 · 3742 阅读 · 1 评论 -
基本排序--直接插入排序
1.简单方法 首先在当前有序区R[1..i-1]中查找R[i]的正确插入位置k(1≤k≤i-1);然后将R[k..i-1]中的记录均后移一个位置,腾出k位置上的空间插入R[i]。 注意: 若R[i]的关键字大于等于R[1..i-1]中所有记录的关键字,则R[i]就是插入原位置。2.改进的方法 一种查找比较操作和记录移动操作交替地进行的方法。具体做法:原创 2012-09-27 21:44:10 · 346 阅读 · 0 评论 -
字符串数转换为整数
/* 主题:实现字符串转换为整数,采用减‘0’再乘10累加的办法*/#include int main(void){ int num = 12345, j = 0, i = 0, sum = 0; char temp[7] = {'1', '2', '3', '4', '5', '\0'}; while(temp[i]) { /* 字符串减‘0’就会隐性的转换为i原创 2012-09-10 21:11:51 · 367 阅读 · 0 评论 -
对两个字符串是够包含进行比较(轮询方式)
/* 主题:轮询方式对两个字符串是够包含进行比较 作者:nixindong 开发环境:Visual Studio 开发语言:C*/#include #include int StringCompare(char *src1, char *src2);int main (void){ int index; char *s = "ABCDEFGHLMNOPQRS"; c原创 2012-09-10 15:06:52 · 399 阅读 · 0 评论 -
整数转换为字符串数,并且不使用itoa函数
/* 主题:将整数转换成字符串数,并且不用函数itoa 作者:nixindong 开发环境:Visual Studio 开发语言:C*/#include int main (void){ int num =12345,i=0,j=0, k = 0; char temp[6],str[6]; while(num) { //将整数num从后往前的每一位数转换成char保存原创 2012-09-10 13:35:39 · 321 阅读 · 0 评论 -
删除一个字符串中出现次数最少的字符
/** ** ** 题目:删除一个字符串中出现次数最少的字符,函数原型为: ** ** char * delChar(char *s,int iLen) ** ** 其中 s为输入字符串,iLen为输入字符串长度。 ** ** 如输入字符串为“abcdd”,输出为"dd"。 ** **原创 2012-09-10 18:53:25 · 108 阅读 · 0 评论 -
删除一个字符串中出现次数最少的字符
/** ** ** 题目:删除一个字符串中出现次数最少的字符,函数原型为: ** ** char * delChar(char *s,int iLen) ** ** 其中 s为输入字符串,iLen为输入字符串长度。 ** ** 如输入字符串为“abcdd”,输出为"dd"。 ** **原创 2012-09-10 18:51:57 · 3129 阅读 · 0 评论 -
变成实现memcpy函数
/* 主题:编程实现memcpy函数*/#include #include void *memcpy2(void *memeTo, const void *memFrom, size_t size);int main(void){ char strSrc[] = "Hello World!"; char strDest[20]; memcpy2(strDest, strS原创 2012-09-13 15:52:10 · 264 阅读 · 0 评论 -
字符串中子串的查找
/* 主题:字符串中子串的查找*/#include #include //循环取src的子串与sub比较const char *strstr(const char*src, const char *sub){ const char *bp; const char *sp; if (src == NULL || sub == NULL) { return src;原创 2012-09-13 19:47:53 · 356 阅读 · 0 评论 -
认识(大端--小端)端模式
转自:http://blog.csdn.net/luckyabcd/article/details/4341873端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大转载 2012-09-17 12:56:42 · 580 阅读 · 0 评论 -
const和voliate定义同一变量
http://topic.csdn.net/u/20071210/14/321d6ec5-f967-4afb-8d04-b335e6db7b34.html不允许这里修改不代表不允许别处修改,再比如:int i = 5;const int* p = &i;*p = 6; // 不可以;i = 7; // 完全可以,而且那个“const”的“*p”也跟着变成了7。c转载 2012-09-17 12:34:33 · 693 阅读 · 0 评论 -
字符串是否为回文
/* 主题:判断一个字符串是否是回文*/#include int StrLen(char *str);int IsRevStr(char *str);int main(void){ char str1[] = "*1234321*"; char str2[] = "1234221"; if (IsRevStr(str1)) { puts("str1是回文数");原创 2012-09-13 20:58:47 · 501 阅读 · 0 评论 -
字符串中各单词的翻转
#include void RevStr(char *src);void swap(char *strDest, char *strSrc);int main(void){ char src[] = "I am from ShangHai"; puts(src); putchar('\n'); RevStr(src); puts(src); return 0;}/原创 2012-09-13 20:26:33 · 526 阅读 · 0 评论 -
更高效的实现字符串的长度检测
#include #include int strLen (const char *strSrc);int main(void){ char p[] = "hello world!"; printf ("strLen len: %d\n", strLen(p)); return 0;}int strLen (const char *strSrc){ assert(s原创 2012-09-13 16:11:49 · 292 阅读 · 0 评论 -
assert()函数用法总结
转自:http://www.cnblogs.com/ggzss/archive/2011/08/18/2145017.htmlassert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression ); assert的作用是现计算表达式 expression转载 2012-09-13 15:49:38 · 245 阅读 · 0 评论 -
不使用库函数将字符串转换为数字
/* 主题:实现字符串转换为整数,采用减‘0’再乘10累加的办法*/#include int strToInt(const char *str);int main(void){ int n = 0; char p[10] = ""; scanf("%s", p); n = strToInt(p); printf("%d", n); return 0;}i原创 2012-09-13 15:02:49 · 463 阅读 · 0 评论 -
查找两个字符串中的公共子串
/* 主题:查找两个字符串中的最大公共子串*/#include#include #include char *commonString(char *str1, char *str2){ int i, j; char *shortStr, *longStr, *subStr; //判断字符串的有效性 if (NULL == str1 || NULL == str2) {原创 2012-09-14 09:46:30 · 371 阅读 · 0 评论 -
编程实现stcmp函数
#include int myStrCmp(const char *src, const char *dst);int main(void){ char str[10] = "1234567"; char str1[10] = "1234567"; char str2[10] = "12345678"; char str3[10] = "123466"; int test1原创 2012-09-13 21:28:05 · 492 阅读 · 0 评论 -
rand()、 srand()和time(0)函数
rand()和srand()函数原型是:void srand(unsigned int);int rand(void);标准C库函数中的rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX是stdlib.h中定义的一个整数,它与系统有关。rand()函数没有输入参数,它直接通过rand()来引用,例如可以通过下面的语句来打印两个随机数:prin原创 2012-06-13 10:12:39 · 1667 阅读 · 1 评论 -
c语言中static 用法
转载自:http://www.cnblogs.com/yezhenhan/archive/2011/10/31/2229724.htmlstatic在c里面可以用来修饰变量,也可以用来修饰函数。先看用来修饰变量的时候。变量在c里面可分为存在全局数据区、栈和堆里。其实我们平时所说的堆栈是栈而不是堆,不要弄混。int a ;int main(){int b ; int c*转载 2012-04-19 14:27:07 · 283 阅读 · 0 评论 -
C/C++中作用域详解
转载自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777433.html作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域)。变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号。也就是说,作用域由变量所在的最近一对括号确定。(1) 全局变量:转载 2012-04-19 14:20:20 · 241 阅读 · 0 评论 -
c 作用域
转载自:http://blog.sina.com.cn/s/blog_65ff4a110100lmdm.html作用域(Scope)这个概念适用于所有标识符,而不仅仅是变量,C语言的作用域分为以下几类:函数作用域(Function Scope),标识符在整个函数中都有效。只有语句标号属于函数作用域。标号在函数中不需要先声明后使用,在前面用一个goto语句也可以跳转到后面转载 2012-04-19 14:15:45 · 88 阅读 · 0 评论 -
c中数据类型的隐式转换
转载自:http://blog.csdn.net/miaouu/article/details/52130421、隐式转换C在以下四种情况下会进行隐式转换:1、算术运算式中,低类型能够转换为高类型。2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。4、函数有返回值时,系统将隐式地转载 2012-04-19 19:40:24 · 418 阅读 · 0 评论 -
定义和声明的区别
定义只能出现在一个地方确定对象的类型并分配内存,用于创建新的对象。例如:int my_array[100]声明可以多次出现描述对象的类型,用于指代其他地方第一的对象(例如在其他文件里)例如:extern int my_array[]区分定义和声明只要记住下面的内容即可分清定义和声明:声明相当于普原创 2012-04-19 16:40:27 · 196 阅读 · 0 评论 -
C语言中本身没有输入输出语句
C语言本身并不提供输入输出语句,输入和输出操作是由函数来实现的。在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数。在使用他们时,千万不要误认为他们是C语言提供的“输入输出语句”。printf和scanf不是C语言的关键字,而只是函数的名字。C提供的函数以库的形式存放在系统中,它们不是C语言文本中的组成部分。不把输入输出作为C语言提供的语句的目的是使C语言编译系统简单,原创 2012-04-19 11:53:35 · 4778 阅读 · 0 评论 -
Sizeof与Strlen的区别与联系
转载自:http://www.cnblogs.com/carekee/articles/1630789.html一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因转载 2012-04-21 12:45:26 · 203 阅读 · 0 评论 -
经典C程序100例3
/*输入三个整数x,y,z,请把这三个数由小到大输出。*/#include int main(void){ int x, y, z, temp; puts("请输入要比较的三个数值"); scanf("%d%d%d", &x, &y, &z); /* 我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换, 然后再用x与z进行比较,如果x>z原创 2012-04-16 18:11:20 · 220 阅读 · 0 评论 -
经典C程序100例4
/*输出9*9口诀*/#include int main(void){ int i, j; for (i = 1; i < 10; i++) { for (j = 1; j < 10; j++) { printf("%d*%d = %-3d",i, j, i*j); } putchar('\n'); } return 0;}运行结果:原创 2012-04-16 18:27:54 · 220 阅读 · 0 评论 -
经典C程序100例2
/*一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?*/#include #include int main(void){ long int i, x, y; //假设小于100000 for (i = 1; i < 100000; i++) { x = (int) sqrt(i + 100); y = (int) s原创 2012-04-15 15:23:16 · 205 阅读 · 0 评论 -
数组指针和函数指针
例1.int f();它把f声明为一个函数,它的返回值是一个整数。例2.int *f();首先执行的是函数调用操作符(),因为它的优先级高于间接访问操作符。因此,f是一个函数,它的返回值类型是一个指向整型的指针。例3.int (*f)();确定括号的含义是分析这个声明的一个重要步骤。这个声明有两对括号,每对的含义各不相同。第2对括号是函数调用操作符,但第1对括号原创 2012-04-21 16:19:06 · 218 阅读 · 0 评论 -
字符串倒序
指针方式:/* 以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”*/#include #include #include int main(void){ int len; //测试字符串 char *src="hello,world"; char *dest = NULL; char *s = NULL; char *d = NULL; len原创 2012-04-21 18:05:41 · 1973 阅读 · 0 评论 -
阶乘
第一种方法:递归#include static int factorial(int n);int main(void){ int n; printf("Enter n:"); //要求输入的数值是整数,并且大于等于0 while (scanf("%d", &n) != EOF && n >= 0) { printf("%d factorial is %d\n", n,原创 2012-06-09 13:54:18 · 229 阅读 · 0 评论 -
串的表示和实现-定长顺序存储
头文件:#ifndef _ALGORITHM_ #define _ALGORITHM_#include #include #include typedef enum{TRUE = 1, FALSE = 0}boolean;typedef int Status; //状态参量#define MAXSTRLEN 40typedef int SString[原创 2012-05-31 14:48:18 · 1229 阅读 · 1 评论 -
栈的应用(行编辑程序)
基本原理:为此,可设置个输入缓冲区为一个栈结构,每当从终端接受一个字符后先作如下判别,如果它既不是退格符也不是退行符,则将该字符压入栈顶;如果是一个退格符,则从栈顶删除一个字符;如果它是一个退行符,则将字符栈清为空。/* 这是一个利用栈来实现编辑的小程序,#时则前一个字符无效,@时表示输入的整行字符无效;*/#include #include #define ST原创 2012-05-29 19:17:11 · 526 阅读 · 0 评论 -
栈的应用(数制转换)
程序功能:对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数。头文件:c3-1.h#ifndef C_3_1_H #define C_3_1_H#include #include #include #define TRUE 1#define FALSE 0#endifalgorithm.h//头文件里面最好只放声明类的文件#ifnd原创 2012-05-29 12:51:41 · 442 阅读 · 0 评论 -
栈的应用(迷宫求解)
#include #include #define MAXLENGTH 25 //行、列的最大值#define STACT_INIT_SIZE 10 //存储空间初始分配量#define STACKINCREMNET 2 //存储空间分配增量typedef enum {true = 1, false = 0}bool; //布尔参量typedef enu原创 2012-05-29 19:30:11 · 339 阅读 · 0 评论