update
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
|
||||
#include "stdio.h"
|
||||
#include "string.h"
|
||||
|
||||
int string_to_integer(char *s,int length){
|
||||
|
||||
if (length>1)
|
||||
{
|
||||
return s[0]=='-'?string_to_integer(s,length-1)*10-(s[length-1]-'0'):string_to_integer(s,length-1)*10+s[length-1]-'0';
|
||||
}else{
|
||||
return s[0]=='-'?-1/10:s[0]-'0';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* 问题:
|
||||
1. s是空字符串
|
||||
2. s传参为非数字字符
|
||||
3. 超出整数所能表示范围
|
||||
*/
|
||||
|
||||
|
||||
int main(){
|
||||
|
||||
char *s = "4323";
|
||||
|
||||
printf("integer == %d\n",string_to_integer(s,strlen(s)) );
|
||||
printf("integer == %d\n",string_to_integer("12342",5));
|
||||
printf("integer == %d\n",string_to_integer("-11",3) );
|
||||
printf("integer == %d\n",string_to_integer("-5",2) );
|
||||
printf("integer == %d\n", string_to_integer("3",1));
|
||||
|
||||
printf("integer == %d\n", string_to_integer("abcd",4));
|
||||
printf("integer == %d\n", string_to_integer("a",1));
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
#include "stdio.h"
|
||||
|
||||
|
||||
int factorial(int n){
|
||||
|
||||
int ret=0;
|
||||
(n==0) || (ret=n+factorial(n-1));
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int main(){
|
||||
|
||||
int n=10;
|
||||
printf("factorial(10)= %d\n",factorial(10));
|
||||
printf("factorial(5)= %d\n",factorial(5));
|
||||
printf("factorial(1)= %d\n",factorial(1));
|
||||
printf("factorial(0)= %d\n",factorial(0));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
|
||||
#include "stdio.h"
|
||||
#include "stdlib.h"
|
||||
|
||||
char *integer_to_bin(long integer){
|
||||
|
||||
int bit_num = sizeof(long)*8;
|
||||
char *buffer= (char *)malloc(bit_num+1);
|
||||
if (buffer==NULL)
|
||||
{
|
||||
return "malloc error";
|
||||
}
|
||||
buffer[bit_num]='\0';
|
||||
|
||||
for (int i = 0; i < bit_num; ++i)
|
||||
{
|
||||
buffer[i]= integer<<i>>(bit_num-1);
|
||||
buffer[i]= buffer[i]==0?'0':'1';
|
||||
|
||||
}
|
||||
return buffer;
|
||||
|
||||
}
|
||||
|
||||
char *integer_to_hex(long integer){
|
||||
|
||||
int bit_num=sizeof(long)*8/4;
|
||||
char *buffer=(char *)malloc(bit_num+3);
|
||||
buffer[0]='0';
|
||||
buffer[1]='x';
|
||||
buffer[bit_num+2]='\0';
|
||||
char *tmp=&buffer[2];
|
||||
|
||||
for (int i = 0; i < bit_num; i++)
|
||||
{
|
||||
tmp[i]= integer<<(i*4)>>(bit_num*4-4);
|
||||
tmp[i]= tmp[i]>=0?tmp[i]:tmp[i]+16;
|
||||
tmp[i]= tmp[i]<10?(tmp[i]+48):(tmp[i]-10+'A');
|
||||
}
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
||||
A 65
|
||||
0 48
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
int main(){
|
||||
|
||||
|
||||
printf("b(11) = %s\n", integer_to_bin(11));
|
||||
printf("b(1023) = %s\n",integer_to_bin(1023) );
|
||||
printf("b(23564) = %s\n",integer_to_bin(23564) );
|
||||
|
||||
|
||||
printf("h(11) = %s\n", integer_to_hex(11));
|
||||
printf("h(1023) = %s\n",integer_to_hex(1023) );
|
||||
printf("h(23564) = %s\n",integer_to_hex(23564) );
|
||||
printf("b(11) = %x\n", 11);
|
||||
printf("b(1023) = %x\n",1023 );
|
||||
printf("b(23564) = %x\n",23564 );
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
#include "stdio.h"
|
||||
|
||||
int main(){
|
||||
|
||||
printf("%ld",236432123443*33453098);
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
|
||||
#include "stdio.h"
|
||||
|
||||
|
||||
/*
|
||||
|
||||
1 是第一个元素
|
||||
序列中元素被2或3或5整除
|
||||
|
||||
*/
|
||||
unsigned long value_in_sequence(unsigned index){
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
int main(){
|
||||
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
|
||||
|
||||
#include "stdio.h"
|
||||
|
||||
int binary_search_first(int *a,int length,int key){
|
||||
|
||||
int low=0;
|
||||
int high = length-1;
|
||||
int mid = 0;
|
||||
|
||||
while(low<high){
|
||||
|
||||
mid = (low+high)/2;
|
||||
if (a[mid]>=key)//往左找
|
||||
{
|
||||
high = mid;
|
||||
}else{
|
||||
|
||||
low = mid+1;
|
||||
}
|
||||
|
||||
}
|
||||
return high;
|
||||
|
||||
}
|
||||
|
||||
int binary_search_last(int *a,int length,int key){
|
||||
|
||||
int low = 0;
|
||||
int high = length -1;
|
||||
int mid = 0;
|
||||
|
||||
while(low<high){
|
||||
|
||||
mid = (low+high+1)/2;
|
||||
if (a[mid]<=key)// 往右找
|
||||
{
|
||||
low=mid;
|
||||
}else{
|
||||
high = mid-1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return low;
|
||||
}
|
||||
|
||||
|
||||
int element_appear_times(int *a,int length,int key){
|
||||
|
||||
printf("(%d) first appear at index %d\n",key,binary_search_first(a,length,key));
|
||||
printf("(%d) last appear at index %d\n",key,binary_search_last(a,length,key));
|
||||
return binary_search_last(a,length,key)-binary_search_first(a,length,key)+1;
|
||||
|
||||
}
|
||||
|
||||
|
||||
int main(){
|
||||
|
||||
|
||||
int a[] = {2,3,4,4,4,4,4,5,5,7,7,11,11,11,11,11,32,32,54};
|
||||
|
||||
printf("(2)appear times = %d\n", element_appear_times(a,sizeof(a)/sizeof(int),2) );
|
||||
printf("(4)appear times = %d\n", element_appear_times(a,sizeof(a)/sizeof(int),4) );
|
||||
printf("(11)appear times = %d\n", element_appear_times(a,sizeof(a)/sizeof(int),11) );
|
||||
printf("(36)appear times = %d\n", element_appear_times(a,sizeof(a)/sizeof(int),36) );
|
||||
printf("(54)appear times = %d\n", element_appear_times(a,sizeof(a)/sizeof(int),54) );
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
|
||||
#include "stdio.h"
|
||||
|
||||
int main(){
|
||||
|
||||
int j,k,m;
|
||||
int i= (j=4,k=5,m=8);
|
||||
printf("%d\n", i);
|
||||
|
||||
i= (j==4)?:0;
|
||||
printf("i=%d\n", i);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Executable
BIN
Binary file not shown.
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.apple.xcode.dsym.a.out</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>dSYM</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
Binary file not shown.
Reference in New Issue
Block a user