实验目的:学会利用指针解决问题
实验内容:求出一个数所有的奇数因子
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作
* 完成日期:
* 版本号:
* 对任务及求解方法的描述部分
* 输入描述:一个整数x
* 问题描述:输出x的所有奇数因子
* 程序输出:x的所有奇数因子及其个数
* 程序头部的注释结束
#include <iostream>
using namespace std;
int fun(int x,int *pp); //作用是求出x的所有奇数因子,并按照从小到大的顺序放在pp指向的内存中
int main(void)
{
int a[50], x, n;
cin >> x;
n = fun(x, a);
cout << x << "的奇因子共有" << n << "个,分别是:";
for(int i = 0; i < n; i++, *a = *(a+i))
{
cout << *a << " ";
}
cout << endl;
return 0;
}
int fun(int x, int *pp)
{
for(int i = 1, n = 0; i <= x; i++)
{
if(x % i == 0)
{
*pp = i;
n++;
pp++;
}
else
continue;
}
return n;
}
经验积累:
1.需要注意,pp和a代表的是地址。
2.数组和指针的关系必须明确。
3.被调函数中运用指针,指针定义必须清晰,思路一定要调理。
上机感言:
上个程序要求运用指针实现冒泡法排序,这个程序要求以指针为基础,做到求数的所有奇数因子,算是对指针深一步的了解和运用,可是感觉运用的还是不太熟练,虽然程序是做出来了,但有种稀里糊涂的感觉,
始终觉得不满意,唉~课下还要下功夫,因为不喜欢这种不清晰的感觉。