问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:number.cpp
*作 者:单昕昕
*完成日期:2014年11月20日
*版 本 号:v1.0
*
*问题描述:删除数组中所有能被3整除的元素后,数组中各元素的值。
*程序输出:符合要求的整型数组。
*/
#include <iostream>
using namespace std;
const int SIZE=16;
int main( )
{
int a[SIZE]= {1,3,5,9,17,21,33,42,59,71,85,145,365,423,460,600}; //初始化前16个元素
int i,j,k;
cout<<"前后往后,数组中元素的值是:"<<endl; //先输出初始化数组的所有元素
for(i=0; i<SIZE; ++i)
{
cout<<a[i]<<" ";
}
cout<<endl;
cout<<"删除数组中所有能被3整除的元素后,数组中各元素的值为:"<<endl;
for(j=0,k=0; k<SIZE; ++k)
{
if(a[k]%3!=0) //判断元素值是否为3的倍数
{
a[j]=a[k];
cout<<a[j]<<" ";
j++;
}
}
return 0;
}
运行结果:
知识点总结:
删选元素并输出的技巧。
学习心得:
用那段for语句整体考虑比循环一次次筛选排序快很多。