从九月份到现在的十二月份,本人从一个大一小白刚学习到现在变成班级倒数的菜鸡。建议学计算机的准大一新生在暑假可以学了解一些小概念,例如宿舍巨佬在暑假就写博客。现在年级稳居第一!
祝我和所有大学生期末顺利,考出佳绩。
在这里祝大家2020新年快乐!
下面是菜鸡的一段小代码,希望大佬可以纠错或者带带我这只菜鸡!
#include <bits/stdc++.h>//此头文件功能强大,推荐新手可以使用【滑稽】
using namespace std;
int a[10000];//数组放在main函数的外面
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
sort(a,a+n,greater<int>());
//algorithm 排序 greater是顺序从大到小排序,不加默认是从小到大
int max=a[0];//a[0]为已经排好的最大值
int max_2=0,max_3=0;
bool in_2=false,in_3=false;
for(int i=1;i<n;i++)
{
if(!in_2&&a[i]<max)
{
max_2=a[i];
in_2=true;//标记已经找到
continue;//跳出本次循环,进入下一个i
}
if(in_2&&a[i]<max_2)
{
max_3=a[i];
in_3=true;
break;//找到次次大值即停止循环
}
}
if(in_2&&in_3)
{
cout<<"最大值:"<<max<<endl;
cout<<"次大值:"<<max_2<<endl;
cout<<"次次大值:"<<max_3<<endl;
}
else if(in_2&&in_3)
{
cout<<"最大值:"<<max<<endl;
cout<<"次大值:"<<max_2<<endl;
cout<<"不存在次次大值!"<<endl;
}
else if(!in_2&&!in_3)
{
cout<<"只存在最大值:"<<max<<endl;
cout<<"不存在次大值和次次大值!"<<endl;
}
return 0;
//考试的时候还是ac不了 所以还是得用桶排 等我学了再写一篇吧 桶排 ORZ
}
//类似桶排但不是真的桶排
#include<iostream>
using namespace std;
int sum=0;
int a[1001]={0};
int main()
{
for(int i=0;i<1001;i++)
{
a[i]=0;
}
int n,i,t;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>t;
a[t]=1;
}
for(i=1001;i>=1;i--)
{
if(a[i]==1&&sum==0)
{
cout<<"最大值:"<<i<<endl;
++sum;
continue;
}
else if(a[i]==1&&sum==1)
{
cout<<"次大值:"<<i<<endl;
++sum;
continue ;
}
else if(sum==2&&a[i]==1)
{
cout<<"次次大值:"<<i<<endl;
break;
}
else if(a[i]==0&&sum==1&&i==1)
{
cout<<"不存在次大值和次次大值!";
}
else if(sum==2&&a[i]==0&&i==1)
{
cout<<"不存在次次大值!";
}
}
}
后面再来一丶有用的小东西
int maxvalue=*max_element(a,a+n); //找出数组最小值
int minvalue=*min_element(a,a+n); //找出数组最大值
int maxposition =max_element(a,a+n)-a; //找出数组最大值的下标
int minposition = min_element(a,a+n)-a; //找出数组最小值的下标
int min, max;
int p = 0;
int q = 0;
min = max = a[0];
for (int i = 0; i < n; i++) //找出数组中最小值的下标
{
if (a[i] < min)
min = a[i];
p = i;
}
for (int i = 0; i < n; i++) //找出数组中最大值的下标
{
if (a[i] > max)
{
max = a[i];
q = i;
}
}