1.一个数组中只有两个数字是出现一次,
其他所有数字都出现了两次。
找出这两个数字,编程实现。
2.喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,
给20元,可以多少汽水。
编程实现。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
int money = 20;
int soda = money / 2;
int emptybottle=soda;
int n = 0;//空瓶换的汽水数
while(emptybottle>1){
n = emptybottle / 2;
soda += n;
emptybottle = n;
}
printf("%d", soda);
system("pause");
return 0;
}
3.模拟实现strcpy
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int strcpy(char *dest, char *src){
int j = 0;
for (; src[j] != '\0'; ++j){//将src的值放到dest中
dest[j] = src[j];
}
dest[j] = '\0';//添加新的结束标志
return dest;
}
int main(){
char dest[20];
char src[] = "zxzcvb";
strcpy(dest, src);
printf("%s", dest);
system("pause");
return 0;
}
4.模拟实现strcat
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int strcat(char *dest, char *src){
int i = 0;
while (1){
if (dest[i] == '\0'){//找到dest中字符的结束标志
break;
}
else ++i;
}
for (int j = 0; src[j] != '\0'; ++j){//将src的值放到dest中的字符串后面
dest[i] = src[j];
++i;
}
dest[i] = '\0';//添加新的结束标志
return dest;
}
int main(){
char dest[20] = "asdfg";
char src[] = "zxzcvb";
strcat(dest, src);
printf("%s", dest);
system("pause");
return 0;
}