自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 将数组中奇数都放前面,偶数都放在后面

void adjust(int *arr,int left,int right){ int temp; while(left {  if(1==left%2)   left++;  if(0==right%2)   right--;  temp=arr[left];  arr[left]=arr[right];  arr[right]=temp;

2015-09-28 14:23:25 4231

原创 给一组数,只有两个数只出现了一次,其他所有数都是成对出现的。怎么找出这两个数。

#include#include#includeint find_one_alone(int *arr,int len){ int ret=0; int i=0; for(;i {  ret^=arr[i]; } return ret;}int find_flag(int num){ int n=0; while(nu

2015-09-22 10:15:25 393

原创 关于main()函数参数的问题

使用main函数的参数,实现一个整数计算机,“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法。实现的函数如下:#include#includeint main(int argc,char *argv[]){  int i=0; int num1,num2; int ret; printf("请输入两个操作

2015-09-22 10:00:08 399

原创 将一个字符串向左旋转n个字符

方法一:一个一个翻转,但有循环嵌套,效率比较低。#include#include#includevoid revovle(char *str,int n){ int len=strlen(str); int i; char temp; while(n) {  temp=str[0];  for(i=0;i  {      str[i]

2015-09-15 22:49:59 556

原创 判断一个字符是否是另一个字符的旋转字符串

方法一:将字符串1与字符串1连接,再判断字符串2是否为连接后的字符串1的子字符串,可以使用库函数实现。#include#include#includevoid revovle(char *str1,char *str2){ int len1=strlen(str1); int len2=strlen(str2); strncat(str1,str1,6);

2015-09-15 16:58:57 787

原创 实现memmove函数

#includevoid *my_mememove(void *dest,void *src,size_t count){ char *pdest=(char *)dest; char *psrc=(char *)src; char *ret=(char *)pdest; if(pdest>psrc && pdest {  while(count--) 

2015-09-12 12:33:30 381

原创 判断是否为回文数或回文字符

判断一个数是否为回文数:#includeint fun(int num){int old = num; //必须要保存原数,后面要进行比较int newnum = 0;while(num){newnum = ret* 10 + num % 10;num /= 10;}return newnum == old;}int main()

2015-09-09 21:18:10 541

原创 将空格转换成%20

字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“we are happy.”,则输出“we%20are%20happy.”。方法一:用数组,从前往后复制,遇到空格变成 ,旧数组下标加1,新数组下标加3;#includevoid transfer(char old[]){char ne[20]={' '}

2015-09-09 20:58:04 2932

原创 用冒泡,选择,快速排序的方法排序

冒泡排序法#includevoid swap(int *a,int *b){ int temp; temp=*a; *a=*b; *b=temp;}void sort(int x[],int n){ int i,j; for(i=0;i {  for(j=0;j  {      if(x[j]>x[j+1])   swap

2015-09-08 22:33:37 333

原创 对可变参数列表的使用

求平均数:#include#includeint average(int val,...){ int sum=0; int i=0; va_list arg; va_start(arg,val);   for(i=0;i {  sum+=va_arg(arg,int); } va_end(arg); return sum/val;

2015-09-08 18:27:45 302

原创 不用条件和循环语句打印出1~1000

#includeint print(int n){ (n-1)&&print(n-1);  printf("%d   ",n);}int main(){ print(1000); return 0;}

2015-09-06 14:12:01 566

原创 用递归实现字符串翻转

#include#includechar *reverse_str(char *str){ int len=0; char temp; int len=strlen(str); if(!str)  return NULL;        if(len>1) {  temp=str[0];  str[0]=str[len-1];  str[

2015-09-06 14:02:05 372

原创 实现strcat

#include#includechar *my_strcat(char *str,const char *ptr){ char *temp=str; assert(str); assert(ptr); while(*str!='\0') {  str++; } while(ptr!='\0') {  *str=*ptr;  str+

2015-09-06 13:57:43 277

原创 实现 strcmp

#include#includeint my_strcmp(const char *stra,const char *strb){    assert(stra); assert(strb); while(*stra==*strb) {  if(*stra=='\0')   return 0;  stra++;  strb++; } if

2015-09-06 13:55:53 533

原创 用三种方式实现strlen

//用递归实现#includeint my_strlen(char *string){ if(*string=='\0')  return 0; else    return 1+my_strlen(string+1);}int main(){ char a[]="abcdefg"; printf("%d\n",my_strlen(a));

2015-09-05 16:11:42 303

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除