一、问题及代码
从键盘中输入10个数放在数组A中,将该数组中不重复的数放到数组B中,如A数据中的值为1,2,3,4,2,1;则B数组中的值为3 4
#include<iostream>
using namespace std;
const int N=10;
int main()
{
int A[N],B[N],C[N],i,j=0,k=0,num;
cout<<"输入10个数放在数组A中\n";
for(i=0;i<N;i++)
{
cin>>num;
A[i]=num;
}
cout<<"数组A的数有: ";
for(i=0;i<N;i++)
cout<<A[i]<<", ";
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)
{
if(A[i]==A[j])
{
B[i]=A[i];
B[j]=A[j];
}
}
}
cout<<"\n将该数组中不重复的数放到数组B中\n数组B的数有: ";
for(i=0;i<N;i++)
{
if(A[i]==B[i])
continue;
C[k]=A[i];
cout<<C[k]<<", ";
k++;
}
return 0;
}
二、运行结果:
三、心得体会:
1,体会到了const定义常用的数为常量,再通过改变常量的值直接改变那个常用数,这种方法简便高效,特别是在调试代码是该方法有不二选择。
2,代码界面要简洁友好,我特意在开头,中间加了解释语句,方便别人输入,读懂这个程序。
现在使用的控制台(cmd)程序不能直接编辑界面,就要注意写代码时别人的可读可观性,看了一些大型的XX管理系统,别人用cmd写界面都美观简洁
这周开始正式自学window,mfc界面编辑程序,目标2周内写出四则计算器,一个月左右上手工程。
3,这次尝试写代码打腹稿了,以前是上来就VC6上写,错了再慢慢调。
这次看到问题后先想思路。再分模块,不同算法在纸上写下草稿,最后上VC6敲,果然一气呵成,没有报错。而且思路清晰明了!
四、知识点总结
1,定义常量用const,常量始终不能改变,且常量的赋值要在定义时就赋值。
2,定义数组A[]时,[]里可以写常量,符号表达式,但一定不能写变量,C++中不允许动态定义。
3,数组的下标从0开始,切记。这个是沿袭数学中坐标轴从0开始。
4,continue跳出该循环,继续下一循环。
5,这道题的关键是找数组中的重复数字,用两层for循环将每个数都与数组中其他数比较,就可找出重复数,不妨将这些重复数字放入新数组C,最后比较两个数组将不重复的给数组B。