1、取成绩最高分最低分平均分。
int main(){
int n = 0;
float score = 0.0;
float Max = 0.0;
float Min = 100.0;
float sum =0.0;
cin>>n;
int i = 0;
for(i=0;i<n;i++){
cin>>score;
if(score>Max) Max=score;
if(score<Min) Min=score;//注意是if不是else
sum+=score;
}printf("%.2f %.2f %.2f",Max,Min,sum/n);
return 0;
}
2、输出矩阵中所有正整数的和
int main(){
int n = 0;
int m = 0;
cin>>n>>m;
int num = 0;
int i = 0,j=0;
int sum = 0;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
cin>>num;
if(num>0) sum+=num;
}
}cout<<sum<<endl;
return 0;
}
输入3行3列
3 3
1 2 3
-1 -2 -3
0 0 0
正数之和
6
3、逆序输出
int main(){
int num[10] = {0};
for(int i=0;i<10;i++){
cin>>num[i];
}
for(int i=0;i<5;i++){
swap(num[i],num[10-i-1]);
}
for(int i =0;i<10;i++){
cout<<num[i]<<" ";
}cout<<endl;
return 0;
}
3(2)
//逆序输出(没有改变数组内部的内容)
int main(){
int num[10] = {0};
for(int i=0;i<10;i++){
cin>>num[i];
}
for(int i=9;i>=0;i--){
cout<<num[i];
}
return 0;
}
1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1
4、有序序列的判断
int main(){
int N = 0;
int num[50];
cin>>N;
bool flag1 = 0;
bool flag2 = 0;
for(int i=0;i<N;i++){
cin>>num[i];
if(i>0){
if(num[i]>num[i-1])
flag1 = 1;//升序
else if(num[i]<num[i-1])
flag2 = 1;//降序
}
}//如果一会升序一会降序flag1,flag2都为1,即为无序
if((flag1+flag2)==1)cout<<"有序"<<endl;
else cout<<"无序"<<endl;
return 0;
}
3
1 3 2
无序
5、删除指定元素,并不改变元序列
int main(){
int n =0;
int arr[55]={0};
int del = 0;//记录要删除的数字
while(cin>>n){
int i = 0;
int j = 0;
for(i=0;i<n;i++){
cin>>arr[i];
}
cin>>del;
//将不删除的数据存放在新的位置
for(i=0;i<n;i++){
if(arr[i]!=del){
arr[j++]=arr[i];
}
}
//此时的j就是删除后的数据个数
for(i=0;i<j;i++){
cout<<arr[i];
}
}
return 0;
}
5
1 2 3 4 5
3
1245
6、去除重复数字
10
1 2 2 2 3 3 4 5 6 6
123456
//去重
int main(){
int n = 0;
cin>>n;
//输入
int i = 0;
int j = 0;
int num[1005] = {0};
for(i=0;i<n;i++){
cin>>num[i];
}
//去重
//每个元素与后面的元素一依次较
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
if(num[i]==num[j]){
//后面的数字依次往前覆盖
for(int k=j;k<n;k++){
num[k]=num[k+1];
}
n--;//去除一个数字,总数-1;
j--;
}
}
}
for(i=0;i<n;i++){
cout<<num[i];
}
}