1.争夺前五名
2.竞选社长
方法1:
方法2:
方法3:
方法4:
学会自己设计排序算法和使用C语言提供的库函数排序算法
方法一:自己设计排序算法
#include<stdio.h>
int main()
{
int arr[40] = { 0 };
int n = 0;
//输入
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
//排序
for (int i = 0; i < n-1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (arr[j] < arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
//输出
for (int i = 0; i < 5; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
方法二:使用系统自带的排序算法
#include<stdio.h>
#include<stdlib.h>
int cmp_int(const void* e1, const void* e2)
{
return *(int*)e2 - *(int*)e1;
}
int main()
{
int arr[40] = { 0 };
int n = 0;
//输入
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
//排序
qsort(arr, n, 4, cmp_int);
//输出
for (int i = 0; i < 5; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
此处需要了解有关于qsort 排序函数的应用
qsort()函数中四个参数的意义为:(目标数组的开始位置(如果从第一个开始。可直接写数组名)、要排序的数组的元素的个数、每个元素所占的字节数、比较函数)
比较函数:
e1在前时是升序,e1在后时是降序。
#include<stdio.h>
int main()
{
char arr[500] = { 0 };
int i = 0;
int A_num = 0;
int B_num = 0;
scanf("%s", &arr);
int len = strlen(arr)-1;
for (i = 0; i < len; i++)
{
if (arr[i] == 'A')
{
A_num++;
}
else
{
B_num++;
}
}
if (A_num > B_num)
{
printf("A");
}
else if (A_num < B_num)
{
printf("B");
}
else
{
printf("E");
}
return 0;
}
(用了gets函数)
#include<stdio.h>
int main()
{
char arr[100] = { 0 };
int count_A = 0;
int count_B = 0;
int i = 0;
gets(arr);
while (arr[i] != '0')
{
if ('A' == arr[i])
{
count_A++;
}
else
{
count_B++;
}
i++;
}
if (count_A > count_B)
{
printf("A");
}
else if (count_A < count_B)
{
printf("B");
}
else
{
printf("E");
}
return 0;
}
(只定义一个变量flag,如果为A,flag++,如果为B,flag--,然后用flag与0的大小进行判断)
#include<stdio.h>
int main()
{
char arr[100] = { 0 };
int flag = 0;
int i = 0;
gets(arr);
while (arr[i] != '0')
{
if ('A' == arr[i])
{
flag++;
}
else
{
flag--;
}
i++;
}
if (flag>0)
{
printf("A");
}
else if (flag<0)
{
printf("B");
}
else
{
printf("E");
}
return 0;
}
(用getchar()函数进行一个个获取进行判定)
#include<stdio.h>
int main()
{
int ch = 0;
int flag = 0;
while ((ch=getchar()) != '0' && ch != EOF)
{
if ('A' == ch)
{
flag++;
}
else if ('B' == ch)
{
flag--;
}
}
if (flag > 0)
{
printf("A");
}
else if (flag < 0)
{
printf("B");
}
else
{
printf("E");
}
return 0;
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/m0_57304511/article/details/122813203
内容来源于网络,如有侵权,请联系作者删除!