正文

面试题目2006-10-29 17:58:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/daweizhao/19793.html

分享到:

找出数组中最后的最大的一个数的位置。 找出匹配的字符串的位置 找出小于n的似有素数 自己先在机子上编下,一会给结果 #include <iostream.h>void main(){    int a[5]={2,4,5,78,9}; int temp=a[0];  //用来暂时存储最大的,先赋值成第一个 for(int i=1;i<5;i++) {  if(temp>a[i])    temp;  else   temp=a[i]; }        //与其它的相比较(第一个外),大的话就让贤,否则保留,保留那          //可以再改下?               cout<<temp<<endl;   }第一个程序,还有不足处,想用动态数组,输入数据,然后求最大,还有就是感觉程序整体架构不行,for语句中的if else中不行。 #include <iostream.h>void main(){ int n; cout<<"n is "; cin>>n;                       //要定义的数组的大小,注:cin中不能加>>endl;    int *a=new int[n];        //动态分配数组时,注意等式左侧数组定义要用指针型 cout<<"please enter the array"<<endl; // for(int j=0;j<n;j++) {  cin>>a[j]; }                                      //由输入的数据来组成数组(可以有空格)    int temp=a[0]; for(int i=1;i<n;i++) {  if(temp>a[i])    temp;  else   temp=a[i]; }          //比较大小,和上一个程序一样  cout<<temp<<endl; delete [] a; }这个加入了动态分配,想用动态数组着,但是钱能的书中没有,所以就用了动态分配。可以自己输入数组中元素个数n,然后动态输入数组元素 两个程序相比较,只是前面的部分相变化,后面的只是将第一个程序移植了过来。 不足之处,就是没有写注释,这个要记得写。好像写程序注释也是必须的呢! 才发现这个程序错误,要返回的是最大的数组元素下标,还要再改 #include <iostream.h>void main(){ int n; cout<<"n is "; cin>>n;             //数组中元素个数 int *a=new int[4]; cout<<"please enter the array"<<endl; for(int j=0;j<n;j++) {  cin>>a[j]; }                   //输入数组中元素    int temp=a[0]; int k=0; for(int i=1;i<n;i++) {  if(temp>a[i])    temp;//如果大的话,不变  else  {            temp=a[i];   k=i;//如果小的话,变化,并且保存k  }   }                      cout<<temp<<endl;  cout<<k<<endl;//输出k delete [] a;//清除a}问题已经解决了,输出的是下标,不过还有一问题,在运行的时候老出现一个提示框,有如下说明: Debug error! program:D\.........|p1.exe DAMAGE: after Normal block (#48) at 0x00441860 (Press Retry to debug the application) 为什么?(n太大时会有这个问题)        

阅读(2429) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册