7.12 上机实践

2013-10-07 01:11:50 · 作者: · 浏览: 74

7.12  上机实践

1.编写程序计算1~100的连续累加,要求用指针实现。

要求:第1个位置放1,第2个放1+2,第3个放1+2+3,依次类推。

提示:该题要求计算从1到100的连续累加,从要求中可以看出实质是前一个存储位置的值加上本存储位置的编号。因此需要申请100个存储单元存放累加和,在第1个存储位置放1,后面依次累加即可。下面给出核心的实现代码作为参考。

  1. /*连续累加*/ 
  2. int *sum=0;  
  3. int *p;  
  4. int x;  
  5. sum=new int[100];       //申请内存空间  
  6. *sum=1;  
  7. *p=sum;                 //保存空间的首地址  
  8. for (int i=2;i<=100;i++)  
  9. {  
  10.     x=*sum;             //取上一个累加  
  11. sum++;                  //移到下一个存储单元  
  12.     *sum=x+i;           //累加  
  13. }  
  14. delete[] sum; 

2.定义5个指针,分别为它们申请存储空间,然后打印出其首地址,按下述格式打印。

类型    字节数   首地址

提示:字节数用sizeof运算符获得,地址直接输出即可。可以参考下述代码。

  1. int *p;  
  2. p= new int;             //申请内存空间  
  3. cout<<" 类型    字节数   首地址   末地址"<<endl;  
  4. cout<<"int";            //类型  
  5. cout<<sizeof(int);      //字节数  
  6. cout<<p<<endl;          //首地址  
  7. delete p; 

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节