C语言远征第十四天
1.一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。(总觉得这个题做过)
void Find_Single ( int arr[ ] , int size)
{
int count = 0 ;
int left = 0 ;
int right = size - 1 ;
for ( left = 0 ; left <= right; ++ left)
{
for ( int j = 0 ; j <= right; ++ j)
{
if ( arr[ left] == arr[ j] )
{
count++ ;
}
}
if ( count == 1 )
{
printf ( "%d\n" , arr[ left] ) ;
}
count = 0 ;
}
}
2.喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
int money = 20 ;
int bottle = money;
int empty_bottle = bottle;
while ( empty_bottle != 1 && empty_bottle != 0 )
{
int new_bottle = empty_bottle / 2 ;
bottle + = new_bottle;
empty_bottle = new_bottle + ( empty_bottle % 2 ) ;
}
printf ( "%d" , bottle) ;
3.模拟实现strcpy、strcat
char * Strcpy ( char * dest, const char * src)
{
int i = 0 ;
for ( ; src[ i] != '\0' ; ++ i)
{
dest[ i] = src[ i] ;
}
dest[ i] = '\0' ;
return dest;
}
char * Strcat ( char * src, const char * dest)
{
int i = 0 ;
for ( ; src[ i] != '\0' ; ++ i) ;
for ( int j = 0 ; dest[ j] != '\0' ; ++ j)
{
src[ i] = dest[ j] ;
++ i;
}
src[ i] = '\0' ;
return src;
}