2014秋C++第13周项目1参考-数组大折腾

时间:2021-12-09 08:56:57
课程主页在 http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在 云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。 


【项目1 - 数组大折腾】
(1)创建一个有20个元素的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后(从第0个到第19个)输出数组中元素的值,每5个元素换一行。

参考解答:

#include <iostream>using namespace std;
int main( )
{
int i;
int a[20]= {13,45,89,32,54,21,90,723,65,45}; //初始化前10个元素
//键盘输入后10个元素的值
cout<<"请输入10个整数"<<endl;
for(i=10; i<20; ++i)
cin>>a[i];

//由前往后输出数组中所有元素的值
cout<<"由前往后,数组中的值是:"<<endl;
for(i=0; i<20; ++i)
{
cout<<a[i]<<" ";
if((i+1)%5==0)
cout<<endl;
}
return 0;
}
(2)创建一个长度为10的整型数组并初始化,由后往前(由第9个元素向第0个元素方向)输出数组中所有元素的值,改变数组元素的值,令所有的数据加倍,输出改变后的值。

参考解答:

#include <iostream>using namespace std;int main( ){    int i;    int a[10]= {13,45,89,32,54,21,90,723,65,45}; //初始化前10个元素    //由后往前输出数组中所有元素的值    cout<<"由后往前,数组中的值是:"<<endl;    for(i=9; i>=0; --i)        cout<<a[i]<<" ";    cout<<endl;    //将所有元素值加倍后保存在数组中    for(i=0; i<10; ++i)        a[i]*=2;  //或a[i]=a[i]*2;    //输出改变后的值    cout<<"由前往后,数组中改变了的值是:"<<endl;    for(i=0; i<10; ++i)        cout<<a[i]<<" ";    cout<<endl;    return 0;}


(3)创建一个长度为16的整型数组a并初始化,先输出数组中元素值为3的倍数的数,再输出所有下标为3的倍数的元素值。输出如图示。

2014秋C++第13周项目1参考-数组大折腾

参考解答:

#include <iostream>using namespace std;int main( ){    int i;    int a[16]= {13,45,89,332,54,221,90,723,65,45,123,47,96,48,187,}; //初始化    //输出数组中元素值为3的倍数的数    cout<<"数组中,元素值为3的倍数的数是:"<<endl;    for(i=0; i<16; ++i)    {        if(a[i]%3==0)            cout<<"a["<<i<<"] "<<a[i]<<endl;    }        //输出下标为3的倍数的元素值    cout<<"下标为3的倍数的元素值是:"<<endl;    for(i=0; i<16; ++i)    {        if(i%3==0)            cout<<"a["<<i<<"] "<<a[i]<<endl;    }    return 0;}

这个程序的局部改进还可以是:

    cout<<"下标为3的倍数的元素值是:"<<endl;    for(i=0; i<16; i+=3)       cout<<"a["<<i<<"] "<<a[i]<<endl;

(4)创建一个长度为16的整型数组a并初始化,删除数组中所有能被3整除的元素(数组中实际有效使用的元素将不足16),输出删除后数组中的全部元素。

参考解答:

#include <iostream>using namespace std;int main( ){    int i,j;    int a[16]= {13,45,89,332,54,221,90,723,65,45,123,47,96,48,187,23}; //初始化    //删除所有能被3整除的数    for(i=0,j=0; i<16; ++i)    {        if(a[i]%3)       //等同于(a[i]%3!=0)            a[j++]=a[i];    }    //输出剩余的元素(共有j个)    cout<<"删除所有能被3整除的数后,剩余的数是:"<<endl;    for(i=0; i<j; ++i)    {       cout<<a[i]<<" ";    }    return 0;}


(5)创建一个长度为16的整型数组a并初始化前15个元素,输入一个整数b,将b插入到a[0]位置(原有的数据往后“移动”),输出删除后数组中的全部元素。

参考解答:

#include <iostream>using namespace std;int main( ){    int i,b;    int a[16]= {13,45,89,332,54,221,90,723,65,45,123,47,96,48,187}; //初始化    cin>>b;    //给b空出位子来    for(i=15; i>0; --i)    {            a[i]=a[i-1];    }    a[0] = b;    //输出剩余的元素(共有j个)    cout<<"插入后的数组是:"<<endl;    for(i=0; i<16; ++i)    {       cout<<a[i]<<" ";    }    return 0;}





=================== 迂者 贺利坚 CSDN博客专栏=================|== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==||== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==||== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====