|
发表于 2022-12-28 23:19:24
|
显示全部楼层
本楼为最佳答案
以下是我的代码。在大佬面前我不敢说我写的好
(其实我本来就写的不好)
主要思路就是对每次出成绩都进行分析。我想也不用再做注明了吧
还望大佬们给出建议,谢谢!
忘了说了,我用的C语言。
- #include <stdio.h>
- #include <math.h>
- int max(int a,int b)
- {
- return a>b?a:b;
- }
- int pn(int p,int w)
- {
- return max(1,floor((double)p*w/100));
- }
- int main()
- {
- int n,w,count,i=0,j=0,k=0,m,x;
- scanf("%d",&n);
- scanf("%d",&w);
- int a[n],b[n];
- for(count=0;count<n;count++)
- {
- scanf("%d",&a[count]);
- getchar();
- }
- for(count=1;count<=n;count++)
- {
- for(m=0;m<count;m++)
- {
- b[m]=a[m];
- }
- for(;m<n;m++)
- {
- b[m]=0;
- }
- for(i=0;i<n;i++)
- {
- for(j=i+1;j<n;j++)
- {
- if(b[i]<b[j])
- {
- k=b[i];
- b[i]=b[j];
- b[j]=k;
- }
- }
- }
- printf("%d ",b[pn(count,w)-1]);
- }
-
- return 0;
- }
复制代码 |
|