第五六周作业(2014.4.08)

第四章 数组学习要求和实验

  学习要求

理解数组的基本概念,了解数组存储方法。

掌握一维和二维数组定义格式和数组元素使用。了解多维数组的定义和引用形式。

掌握字答数组的定义、字符数组与字符串的关系。

掌握常用字符串处理函数的使用。

进一步掌握循环程序设计技巧和方法。

进一步积累程序调试经验。

 实验作业

1.调试分析课本每一个例题,有可能的话更改成2-3个方法的新程序;

2.编程实现课本每一个编程习题。

3. 编程定义一个4X5矩阵和5X3矩阵,并计算它们的积。

4.编程输出1到n的平方的自然数构成的“魔方阵”,魔方阵是指它每一行和每一列及对角线之和均相等的方阵。

5.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。

作业要求

网上提交各个程序和相关要求的文字。

可以分两个博客文章来交。前2个题和后3个题各放到一个博客文章中提交


习题2:输入数组,求出最大值及其下标

#include<iostream>  
#include<iomanip>  
using namespace std;  
int main()  
{  
    int i,j,t;  
    int str[5];  
    cout<<"请输入五个数:"<<endl;  
    for(i=0;i<5;i++)  
        cin>>str[i];  
    cout<<"这五个数的从小到大的顺序是:"<<endl;  
    for(i=0;i<4;i++)  
    for(j=0;j<4-i;j++)  
        if(str[j]>str[j+1])  
        {t=str[j];str[j]=str[j+1];str[j+1]=t;}  
    for(i=0;i<5;i++)  
        cout<<str[i]<<setw(4);  
        cout<<endl;  
  
 return 0;  
}  



#include<iostream>  
#include<iomanip>  
using namespace std;  
  
int main()  
{  
    int a[2][3];  
    int i,j,big;  
    cout<<"请输入二行三列二维数组的元素值:"<<endl;  
            
    for(i=0;i<2;i++)  
    for(j=0;j<3;j++)  
    {   
        cout<<"a["<<i<<"]"<<"["<<j<<"]=";  
        cin>>a[i][j];  
    }  
    cout<<"该二维数组为:";  
    for(i=0;i<2;i++)  
    for(j=0;j<3;j++)  
    {     
        if(j%3==0)  
        cout<<endl;  
        cout<<setw(4)<<a[i][j];  
    }  
    cout<<endl;  
    big=a[0][0];  
    for(i=0;i<2;i++)  
    for(j=0;j<3;j++)  
        if(a[i][j]>=big)  
            big=a[i][j];  
    for(i=0;i<2;i++)  
    for(j=0;j<3;j++)  
        if(a[i][j]==big)  
    cout<<"该数组中最大元素为:"<<"a["<<i<<"]"<<"["<<j<<"]="<<a[i][j]<<endl;  
}  





#include <iostream>    
using namespace std;    
    
int main()    
{    
    int i,math[40],n;    
    float aver=0.0;    
    int unpassedcount=0;    
    int passedcount=0;    
    int highscorecount=0;    
    cout<<"请输入学生人数:";    
    cin>>n;    
    cout<<"请输入成绩:"<<endl;    
    for(i=0;i<n;i++)    
    {    
        cin>>math[i];    
        aver+=math[i];    
    }    
    aver/=n;    
    for(i=0;i<n;i++)    
    {    
        if(math[i]<60)    
            unpassedcount++;    
        else    
            passedcount++;    
        if(math[i]>=90) highscorecount++;    
    }    
    cout<<"平均分为:"<<aver<<endl;    
    cout<<"90分以上的人数为:"<<highscorecount<<endl;    
    cout<<"及格人数为:"<<passedcount<<endl;    
    cout<<"不及格人数为:"<<unpassedcount<<endl;    
    
    return 0;    
}   




#include <iostream>    
#include <iomanip>    
using namespace std;    
    
int main()    
{    
    int i;    
    int f[40]={1,1};    
    for(i=2;i<40;i++)    
        f[i]=f[i-2]+f[i-1];    
    for(i=0;i<40;i++)    
    {    
        if(i%4==0)    
            cout<<endl;    
        cout<<setw(12)<<f[i];    
    }    
    cout<<endl;    
    
    return 0;    
}   








暂时先这些吧,后边的再补上啦。
























  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值