05 一维数组 C++作业答案

温馨提示:请做完后再核对答案

第1题

答案代码如下:

#include<iostream>
using namespace std;
int main()
{double a[10],s2;
double aver=0.0;
int i,n=10;
for (i=0;i<n;i++)
{
cin>>a[i];
aver+=a[i];
}
aver/=n;
for (i=0 ; i<n; i++){
    s2+=(a[i]-aver)*(a[i]-aver);
}s2/=10;
cout<<s2<<endl;
return 0; 
}

第2题

答案代码如下:

#include<iostream>
using namespace std;
int main()
{double a[10],t;
int i,j;
for(i=0;i<10;i++)
{cin>>a[i];}
for(j=0;j<9;j++)
{
for (i=0;i<9-j;i++)
    {t=a[i];
if (a[i+1]>t)
        {a[i]=a[i+1];a[i+1]=t;}
    }
}
for(i=0;i<10;i++){
cout<<a[i]<<" ";}
return 0; 
}

第3题

答案代码如下:

#include<iostream>
using namespace std;
int main(){
double a[10],da,xiao;//个人习惯,不喜勿喷
int i=0,n=10;
cin>>a[i];
da=a[i];xiao=a[i];
for (i=1;i<n;i++){
cin>>a[i];if (da<a[i]){da=a[i];}
if (xiao>a[i]){xiao=a[i];}
}
cout<<da-xiao<<endl;
return 0; 
}

第4题

答案代码如下:

#include<iostream>
using namespace std;
int main(){double a[10],t;
int i=0,n=10;
for (i=0;i<n;i++){
cin>>a[i];
}
for (i=0;i<n/2;i++){
t=a[i];a[i]=a[n-i-1];a[n-i-1]=t;
}
for (i=0;i<n;i++){
cout<<a[i]<<" ";
}
return 0; 
}

第5题

答案代码如下:

#include<iostream>
using namespace std;
int main(){double a[20],b[20];
int i=0,n=20;
a[0]=1;a[1]=1;
for (i=2;i<20;i++){
a[i]=a[i-1]+a[i-2];
}
for (i=0;i<n;i++){
if ((i+1)%5==0) {cout<<a[i]<<"\n";}
else{cout<<a[i]<<"  ";}
}
return 0; 
}

第6题

答案代码如下:

#include<iostream>
using namespace std;
int main()
{int i,n;cin>>n;
double a[10],t,amax,avg=0;
for (i=0;i<n;i++){cin>>a[i];}
for (i=0;i<n;i++){avg=avg+a[i];}
avg=avg/n;
amax=avg;
for (i=0;i<n;i++){
if (amax<a[i]){amax=a[i];}}
for (i=0;i<n;i++){
if (amax==a[i]){t=i;break;}}
cout<<amax<<endl;
cout<<t<<endl;
return 0; 
}

答案代码如下:

#include<iostream>
using namespace std;
int main(){
int i,n=10,t=0;
double a[10],b[10];
for (i=0;i<n;i++){cin>>a[i];}
for (i=0;i<n;i++){
    if (a[i]>=60 && a[i]<=100)
    {b[t]=a[i];t=t+1;}
    }
for (i=0;i<t;i++){cout<<b[i]<<endl;}
return 0; 
}

第8题

答案代码如下:

#include<iostream>
using namespace std;
int main(){
int i,n=10,t=0,x=0;
double a[10],b[10],avg=0;
for (i=0;i<n;i++)
    {cin>>a[i];
    avg=avg+a[i];
    t=t+1;}
avg=avg/t;
for (i=0;i<n;i++)
    {if(a[i]<avg)
    {x=x+1;}
}
cout<<avg<<" "<<x<<endl;
return 0;
}

第9题

答案代码如下:

#include<iostream>
using namespace std;
int main()
{int i,j,n=10,t=0,x=0;
char a[10];
a[9]=-1;
for (i=0;i<n;i++)
    {cin>>a[i];}
if (a[9]==-1){
for (i=0;i<10;i++){
    t=0;
    for(j=0;j<9;j++)
    {if (a[j]==i+48)
    //int i 加上48后与char型变量的对应数字相等
    //比如i=0,char型变量'0'=48
    {t+=1;} }
cout<<i<<" occurs "<<t<<" times"<<endl;
}}
else{cout<<"error"<<endl;}
return 0;
}

第10题

答案代码如下:

#include <iostream>
using namespace std;
int main() {
  int data[7], howmany[100];
  int num;

  // Section 1: read numbers with trailing value of -1
  int  temp;
  cout << "Enter a positive value (-1 to stop): ";
  cin >> temp;
  num = 0;
  while (temp >= 0) {
    data[num] = temp;
    //Enter a positive value (-1 to stop)
    cin >> temp;
    if (temp==-1){break;}
    num=num+1;
   }

  // Section 2: count how many times each number appears
  int i,j;
  for (i = 0; i <= num; i++) {
     howmany[i] = 0;        
   }
   for (i = 0; i <= num; i++) {
     for (j = 0; j <= num; j++) {
       if (data[i] == data[j]) { 
        howmany[i] += 1;
       }
    }
   }
 // Section 3: display the results
 cout << "        Values:";
  for (i = 0; i <= num; i++) {
    cout << data[i]<< '\t';
  }
  cout << "\nHow many times:";
  for (i = 0; i <= num; i++) {
    cout << howmany[i] << '\t';
  }
  cout << endl;
  return 0;
}//额……我也忘了改的是哪些地方了……也没数是不是正好8处错误 QAQ……

代码是自己写的,所以不免有错误或不简便的地方,欢迎大佬们批评指正 ~   .゚ヽ(。◕‿◕。)ノ゚

祝大家学业进步 ~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值