PTA:7-184 通过嵌套循环输出二维矩阵

作者 王秀秀

单位 山东交通学院

任务描述:

输出以下4*5的矩阵。

    1    2    3    4    5
    2    4    6    8   10
    3    6    9   12   15
    4    8   12   16   20

输入格式:

无。

输出格式:

二维矩阵

输入样例:

在这里给出一组输入。例如:

 

输出样例:

在这里给出相应的输出。用%5d,对整数进行输出 例如:

    1    2    3    4    5
    2    4    6    8   10
    3    6    9   12   15
    4    8   12   16   20

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB

#include<stdio.h>
int main( )
{
    int i,j,sum=0;
    for(i=1;i<=4;i++)
    {
        sum=0;
        for(j=1;j<=5;j++)
        {
            sum=i*j;
            printf("%5d",sum);
        }
        printf("\n");
    }
}

在 C++ 中,可以通过指针访问对象数组的数据。以下是详细的说明以及实现方法。 ### 如何通过指针访问对象数组 当创建一个对象数组时,可以使用指向该类型的指针来遍历并操作这些对象。假设有一个类 `MyClass` 和其对应的对象数组: #### 定义类和对象数组 ```cpp class MyClass { public: int value; void display() const { std::cout << "Value: " << value << std::endl; } }; int main() { const int size = 5; // 数组大小 MyClass objArray[size]; // 创建对象数组 // 初始化对象数组中的数据 for (int i = 0; i < size; ++i) { objArray[i].value = i * 10; } // 使用指针访问对象数组 MyClass* ptr = objArray; // 将指针初始化为数组首地址 for (int i = 0; i < size; ++i, ++ptr) { // 遍历数组 (*ptr).display(); // 或者写成 ptr->display(); } return 0; } ``` 上述代码展示了如何利用指针访问对象数组的内容,并调用成员函数显示每个对象的状态。注意,在这里我们既可以使用解引用运算符 `(*ptr)` 来访问成员变量或函数,也可以更简洁地使用箭头运算符 `ptr->`[^1]。 ### 结合PTA7-3题目背景的应用扩展 如果按照 PTA 的风格设计一道类似的题目,则可能涉及如下需求:给定一组自定义类型的数据结构存储于动态分配的对象数组中,请编写程序完成特定查询功能。下面给出基于此思路的一个例子——统计满足条件的目标数量并打印它们的信息。 #### 示例代码片段 ```cpp #include <iostream> using namespace std; // 假设这是我们要处理的简单学生记录模型 struct Student { string name; double score; bool passed() const {return score >= 60;} }; void processStudents(Student students[], int count){ cout<<"Passed Students:"<<endl; Student *pStudent = students; while(pStudent - students < count ){ if( pStudent ->passed()){ cout<<pStudent->name<<"\t"<<pStudent->score<<endl; } ++pStudent ; } } int main(){ int numStu; cin>>numStu; Student stuList[numStu]; for(auto &stu : stuList){ cin>>stu.name>>stu.score; } processStudents(stuList,numStu); return 0; } ``` 这段代码实现了对学生列表的操作,其中包含了通过指针迭代整个数组的过程[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值