c语言
文章平均质量分 58
_土豆_
这个作者很懒,什么都没留下…
展开
-
用c语言编写打印出100~200 之间的素数。
运行代码:#include#includeint main(){ int a; int b; int n=0; for (a=100;a {for (b=2;b{if (a%b==0)break; //若a能整除b,则执行break操作,即不执行下面的if操作返回 // 上面的那个for循环。if (b==a-1){ printf原创 2016-05-26 09:36:22 · 726 阅读 · 0 评论 -
二维数组中的查找,杨氏矩阵
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/75/7A/wKiom1Y54wijHQMyAABkSe1XBb8649.jpg" title="QQ图片20151104184945.png" alt="wKiom1Y54wijHQMyAABkSe1XBb8649.jpg" />#include#includeint find原创 2016-05-26 09:37:13 · 263 阅读 · 0 评论 -
c语言表白!!!!(ps 偶然看到的)
#include#include#includeint main(){char str[3];int flag=1;flag:printf("Do you love me?\n");scanf("%s",str);if(strcmp(str,"no")!=0&&strcmp(str,"NO")!=0){ printf("请重新输入!!!\n"); goto flag;转载 2016-05-26 09:37:16 · 9523 阅读 · 1 评论 -
调整数组使奇数全部都位于偶数前面。
#include#includevoid ReorderOddEven(int arry[], int size){ assert(arry); if (arry == NULL || size <= 0) { return; } int begin = 0; int temp = 0; int end = size - 1; while (begin<end) {原创 2016-05-26 09:37:22 · 296 阅读 · 0 评论 -
快速排序
冒泡排序在扫描过程中只对相邻的两个元素进行比较,因此在互换两个相邻元素时只能消除一个逆序。如果通过两个不相邻元素的交换能够消除待排序记录中的多个逆序,则会大大加快排序的速度。快速排序(Quick Sort)正是通过不相邻元素交换而消除多个逆序的,因而可以认为其是冒泡排序的升级版。650) this.width=650;" src="http://images.cnitblog.com/blog/9转载 2016-05-26 09:37:24 · 326 阅读 · 0 评论 -
堆排序
堆排序(Heap Sort)是由J.Williams在1964年提出的,它是在选择排序的基础上发展起来的,比选择排序的效率要高,因此也可以说堆排序是选择排序的升级版。堆排序除了是一种排序方法外,还涉及到方法之外的一些概念:堆和完全二叉树。这里主要说说什么是堆? 如果将堆看成一棵完全二叉树,则这棵完全二叉树中的每个非叶子节点的值均不大于(或不小于)其左、右孩子节点的值。由此可知,若一棵完全二叉树是转载 2016-05-26 09:37:27 · 219 阅读 · 0 评论 -
直接插入排序
直接插入排序(straight insertion sort)的做法是:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。直接插入排序属于稳定的排序,最坏时间复杂性为O(n^原创 2016-05-26 09:37:30 · 310 阅读 · 0 评论 -
用c语言.模拟实现strcpy,strcat,strcat,memcpy,memmove
1.模拟实现strcpy#include#include#include#includechar *my_strcpy(char *dst, const char *src){ assert(dst != NULL); assert(src != NULL); char *ret = dst; while ((*dst++ = *src++) != '\0') ; ret原创 2016-05-26 09:37:33 · 230 阅读 · 0 评论 -
用c语言实现strncmp,strncat,memset, memcmp
1.int strncmp ( char * str1, char * str2, size_t num)用法:#include 功能: 比较字符串str1和str2的前n个字符.返回结果:如果前n字节完全相等,返回值就=0;在前n字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])#include#include#includeint原创 2016-05-26 09:37:36 · 282 阅读 · 0 评论 -
区分数组指针和指针数组
数组指针和指针数组的区别: 1.指针数组 对于指针数组,他首先是一个数组; 譬如 int *p1[10]; 由于“[ ]”的优先级高,所以先于p1结合成为一个数组,再被定义成int *成为整形指针数组。它含有10个指针类型的数组元素,即每个元素的类型都是int*;在此p1[0],p1[1].....p1[n]分别是指针变量,可以用来存放地址。*p1=a表示指针数组第一个元素的值,a原创 2016-05-26 09:37:39 · 264 阅读 · 0 评论 -
打印1到最大的n位数。
面试题:(源自《剑指offer》)输入数字n,按顺序打印出从1到最大的n位十进制数。比如:输入3,则打印出1、2、3一直到最大的3位数999.[陷阱]:这个题目很容易想到的办法就是先求出最大的数。然后循环输出就可以了。#include#include#include#includevoid my_sprintf(char * arr, int len){ bool start =转载 2016-05-26 09:37:42 · 227 阅读 · 0 评论 -
单链表的插入 删除 及带环 问题
#include#include#include#includetypedef int Datatype;typedef struct SListNode{ Datatype data; struct SListNode*next;}SListNode;void Erase(SListNode*&pHead, SListNode *pos);void PushBack(SLi原创 2016-05-26 09:37:47 · 249 阅读 · 0 评论 -
静态库和动态库的区别
什么是库? 库通俗的讲就是把一些常用的函数的目标文件打包在一起,提供相应的接口,便于程序员使用。库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。像我们中常用的输出printf函数。当我们在使用时并不关心其底层是如何实现,只是使用其来提高编写代码的效率。 本质上来说库是一种可执行代码原创 2016-07-26 22:04:56 · 1132 阅读 · 0 评论 -
为什么要内存对齐
当我们听到”内存对齐“这个概念时,从字面意思来看,很容易理解。那就是让内存对齐。 当然 就会有人说 你这不是废话 ?? 现在我就来说一说为什么要内存对齐以及怎么个对齐法(如何对齐)? 首先来谈谈什么叫内存对齐!!我百度了一下如下解释:内存对齐: 内存对齐”应该是编译器的“管辖范围”。编译器为程序中的每个“数据单元”安排在适当的原创 2016-07-22 23:40:43 · 8498 阅读 · 1 评论 -
对sizeof的各种总结
数组型(二维)#includeint main(){int a[3][4] = {0};printf("%d\n",sizeof(a)); printf("%d\n",sizeof(a[0][0]));printf("%d\n",sizeof(a[0]));printf("%d\n",sizeof(a[0]+1));printf("%d\n",sizeof(a+1));printf("%d\n"原创 2016-05-26 09:37:04 · 256 阅读 · 0 评论 -
c语言编程:输入一个数看它是不是素数
素数是指除了1和该数本身之外,不能被其他任何整数整除的数。判断输入的一个数n是不是素数的方法是:将n作为被除数,将2—n-1各个整数先后作为除数,如果都不能被整除,则n为素数。算法思路:A:输入n的值。B:i=2(i作为除数)C:n被i除,得余数rD:如果r=0,表示n能被i整除,则输出n“不是素数”算法结束;否则执行E;E:i+1=iF:如果i原创 2016-05-26 09:36:25 · 1857 阅读 · 0 评论 -
9*9乘法表中for循环中遇到的一点问题
代码如下;#include int main(){ int x,y; for(x=1;x { for(y=1;y printf("%d*%d=%d,",x,y,x*y); printf("\n"); } }650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/73/7F/wKio原创 2016-05-26 09:36:27 · 396 阅读 · 0 评论 -
写一个函数返回参数二进制中 1 的个数
1.#includeint bit_count(unsigned int n){ int count; for(count = 0; n; n=n &(n - 1)) { count++; } return count;}int main(){ int k; int num;printf("输入一个数:"); scanf("%d",&nu原创 2016-05-26 09:36:30 · 295 阅读 · 0 评论 -
将一个二维数组的行和列的元素互换,存到另一个二维数组中。
#includeint main(){ int a[][3]={{1,2,3},{4,5,6},{6,9,7}}; int b[3][3],i,j; printf("array a:\n"); for(i=0;i<=2;i++) //处理数组中的一行中的各元素 { for(j=0;j<=2;j++) //处理a中的某一列的元素原创 2016-05-26 09:36:33 · 1959 阅读 · 0 评论 -
输入一个字符统计其中有多少个单词。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/73/C5/wKiom1YGhejBYfCLAABLBpYJ91w360.jpg" title="QQ图片20150926194557.png" alt="wKiom1YGhejBYfCLAABLBpYJ91w360.jpg" />#includeint main(){ char s原创 2016-05-26 09:36:36 · 836 阅读 · 0 评论 -
获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
#includeint main(){int i,j,b,size; char a[100];printf("请输入一个数:");scanf("%d",&b);size=16;j=15;for(i=0;i<size;i++){{ if((b>>j)&1)a[size-1-j]='1';elsea[size-1-j]='0'; }j--;}printf("输原创 2016-05-26 09:36:39 · 382 阅读 · 0 评论 -
一直接收键盘字符,小写字符就输出对应的大写,大写字符输出对应的小写字符是数字不输出
#includeint main(){ char c[]={0}; int i; for(i=0;;i++) { c[i]=getchar(); if('A'<=c[i]&&c[i]<='Z') { putchar(c[i]+=32); continue; } if('a'<=c[i]&&c[i]<='z') { putchar(c[i]-=32);转载 2016-05-26 09:36:42 · 557 阅读 · 0 评论 -
c语言 验证所有的花括号都正确的成对出现。
#includeint main(){ int i,j=0; char s[100]; printf("输入字符:"); scanf("%s",&s); for(i=0;s[i];i++) { if(s[i]=='}') { if(j==0) { printf("匹配不成功");return 0;} else j++; }原创 2016-05-26 09:36:47 · 569 阅读 · 0 评论 -
实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数。
比如:输入字符串“1234”,返回数字1234。 输入字符串“+1234”,返回数字1234. 输入字符串“-1234”,返回数字-1234.#includeint main(){ int n; int my_atoi(char s[10]); char str[10]; gets(str); n = my_atoi(str); printf("%d原创 2016-05-26 09:36:56 · 1011 阅读 · 0 评论 -
C语言itoa()函数和atoi()函数详解
C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。1.int/float to string/array:C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明。● itoa():将整型值转换为字符串。● ltoa():将长整型值转换为字符串。● ultoa():将无符号长整型值转换为字符串。●转载 2016-05-26 09:36:59 · 301 阅读 · 0 评论 -
编写一个函数itob(int n,char s[], int b),将整数n转换为以b进制的数。保存到s中。
#include #include void itob(int n, char s[], int b);void new_reverse(char s[]);int main(void){ char buffer[10]; int iTmp, radix, flag; while (1) { printf("Please input a int number(q to转载 2016-05-26 09:37:01 · 718 阅读 · 0 评论 -
const与#define的区别
const与#define相比有什么不同? C++语言可以用const定义常量,也可以用#define定义常量,但前者比后者有更多的优点: 1、const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换中可能产生意料不到的错误(边际效应) 2、有些集成化的调试工具原创 2016-08-14 20:15:33 · 221 阅读 · 0 评论