问题及代码:
/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:莉莉.cpp
*作者:李莉
*完成日期:2014年11月24日
*版本号:v1.0
*
*问题描述:删除一组数中能被三整除的数,并输出剩余的数
*程序输入:无输入
*程序输出:删除后剩余的数
*/
#include <iostream>
using namespace std;
int main()
{
int a[16]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},n=16,j=0,i,k;
cout<<"删除后的数为:"<<endl;
i=0;
while (i<n)
{
if (a[i]%3==0)
{
k=i;
for (;k<n;k++)
a[k]=a[k+1];//k用来标记没被删除的数
j++;
}
i++;
}
for (i=0; i<n-j; ++i)
{
cout<<a[i]<<" ";
}
return 0;
}
运行结果:
心得体会:比较难解决的是分别计数。。也就是原数组要计数,删除的数要计数,删除后的数还要计数。。嗷呜。。。