1.在主函数中输入数组,在自定义有参无返函数中实现简单选择排序(降序)
#include <stdio.h>
#include <string.h>
void sqrt(int n, int a[n])
{
for (int i = 0; i < n - 1; i++)
{
for (int j = i + 1; j < n; j++)
{
if (a[i] < a[j])
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
}
int main()
{
int n;
scanf("%d", &n);
int a[n];
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
sqrt(n, a);
for (int i = 0; i < n; i++)
{
printf("%4d", a[i]);
}
printf("\n");
return 0;
}

2.输入两个字符串,定义有参有返函数实现字符串比较
#include <stdio.h>
#include <string.h>
int myStrcmp(char s1[], char s2[])
{
int i = 0;
while (s1[i] != '\0')
{
if (s1[i] != s2[i])
{
break;
}
i++;
}
if (s1[i] > s2[i])
{
return 1;
}
else if (s1[i] < s2[i])
{
return -1;
}
else
{
return 0;
}
}
int main()
{
char s1[20], s2[20];
scanf("%s %s", s1, s2);
int res = myStrcmp(s1, s2);
if (res == 1)
{
printf("s1 > s2\n");
}
else if (res == -1)
{
printf("s1 < s2\n");
}
else
{
printf("s1 == s2\n");
}
return 0;
}

3.主函数中输入一个字符串,在自定义有参无返函数中实现单词逆置
#include <stdio.h>
#include <string.h>
void fun(int n, char *p)
{
int i = 0, j = n;
while (i < j)
{
char tmp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = tmp;
i++;
j--;
}
i = j = 0;
while (*(p + i) != '\0')
{
while (*(p + j) != ' ' && *(p + j) != '\0')
{
j++;
}
int k = j - 1;
while (i < k)
{
char tmp = *(p + i);
*(p + i) = *(p + k);
*(p + k) = tmp;
i++;
k--;
}
while(*(p + j) == ' ')
{
j++;
}
i = j;
}
}
int main()
{
char s[40];
gets(s);
int i = 0;
for (i = 0; s[i] != '\0'; i++);
i--;
fun(i, s);
puts(s);
return 0;
}

本文介绍了如何在C语言中使用自定义函数实现简单选择排序(降序)、字符串比较和单词逆置功能。通过主函数输入数组和字符串,展示了函数参数的使用以及无返回值和有返回值函数的实践。
1328

被折叠的 条评论
为什么被折叠?



