#include
#include
#include
long my_pow( int x, int n )
{
int y=1, i=0;
for( i=0; i{
y = y*x;
}
return y;
}
long func2( int **a, int m, int n )
{
long s = 0;
int i,j;
for( s=0,i=0; i{
for( j=0; j{
int cur = *((int*)a + i*n + j );
if ( i==j )
s = s + cur;
}
}
return s;
}
int revert( char *a )
{
int len = strlen( a ), i=0;
for( i=0; i{
char t = a[i];
a[i] = a[len-i-1];
a[len-i-1] = t;
}
return 0;
}
char* strDel( char *str, int m, int n )
{
int len = strlen( str ), i=0, k=0;
if ( m+n > len )
{
printf( "%d + %d > len:%d\n", m, n, len );
return NULL;
}
char *del;
del = (char*)malloc(n);
memcpy( del, str+m, n );
del[n] = 0;
for( k=m,i=0; str[m+n+i]; i++ )
{
str[m+i] = str[m+n+i];
}
str[m+i] = 0;
return del;
}
int str2int( char *str )
{
int s=0, i=0, j=0;
for( s=0,i=0,j=0; str[i]; i++ )
{
if ( str[i]>='0' && str[i]<='9' )
s = s*10 + str[i]-'0';
}
return s;
}
int sum( int n )
{
if ( n == 1 )
return 1;
return n + sum( n-1 );
}
void main()
{
printf( "1. 2^3 = %ld\n", my_pow(2, 3) );
int a[4][4] = {
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,16}
};
printf( "2. %ld\n", func2( (int**)a, 4, 4) );
char s[12];
sprintf( s, "abcdefg" );
revert( s );
printf( "3. revert(abcdefg)=%s\n", s );
printf( "4. %s,", strDel( s, 2, 3 ) );
printf( "[%s]\n", s );
printf( "5. 123a4=%d\n", str2int("123a4") );
printf( "6. 1+2+3+4+..+100=%d\n", sum( 100 ) );
}
这些都很简单啊,自己琢磨下就能做出来