主函数部分:
1.(**)一维浮点型数组的冒泡排序函数
float array[10] = {0};
randArray(array, 10);
bubbleSort(array, 10);
printBubbleSort(array, 10);
2.(***)编写实现 strlen 同功能的函数 stringLength。
char array[] = "iPhone6";
int arrayLength = stringLength(array);
printf("%d ", arrayLength);
3.(***)编写实现 strcpy 同功能的函数 stringCopy。
char dest[] = {0};
stringCopy(array, dest);
4.(***)编写实现 strcat 同功能的函数 stringCatch。
char dest[6] = "abcde";
stringCatch(array, dest, 6);
5.(***)编写实现 strcmp 同功能的函数 stringCompare。
char str1[7] = "ba";
char str2[9] = "ba";
int result = stringCompare(str1, str2);
printf("%d\n", result);
声明部分:
第一题
void randArray(float array[], int count);
void bubbleSort(float array[], int count);
void printBubbleSort(float array[], int count);
第二题
int stringLength(char array[]);
第三题
void stringCopy(char array[], char dest[]);
第四题
void stringCatch(char array[], char dest[], int length);
第五题
int stringCompare(char array1[], char array2[]);
第一题
void randArray(float array[], int count)
{
for (int i = 0; i < count; i++) {
array[i] = arc4random() % 50;
}
for (int i = 0; i < count; i++) {
array[i] = array[i] / 7;
}
}
void bubbleSort(float array[], int count)
{
for (int i = 0; i < count - 1; i++) {
for (int j = 0; j < count - i - 1; j++) {
if (array[j] > array[j + 1]) {
float temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
void printBubbleSort(float array[], int count)
{
for (int i = 0; i < count; i++) {
printf("%.2f ", array[i]);
}
printf("\n");
}
第二题
int stringLength(char array[])
{
int sum = 0;
while (1) {
if (array[sum] != '\0') {
sum++;
}else{
break;
}
}
return sum;
}
第三题
void stringCopy(char array[], char dest[])
{
for (int i = 0; i < stringLength(array); i++) {
dest[i] = array[i];
printf("%c", dest[i]);
}
printf("\n");
}
第四题
void stringCatch(char array[], char dest[], int length)
{
for (int i = 0; i < stringLength(array) + length - 1; i++) {
dest[i + length - 1] = array[i];
printf("%c", dest[i]);
}
printf("\n");
}
第五题
int stringCompare(char array1[], char array2[])
{
int i = 0;
while (array1[i] != '\0' && array2[i] != '\0') {
if (array1[i] != array2[i]) {
break;
}
i++;
}
return array1[i] - array2[i];
}