设为首页 加入收藏

TOP

C++Primer(第六章课后习题)(程序题源代码)(一)
2016-09-12 19:03:10 】 浏览:450
Tags:Primer 课后 习题 程序 源代码

6.4

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; int fact(int val) { if (val < 0) return -1; int ret = 1; for (int i = 1; i != val + 1; ++i) ret *= i; return ret; } int main() { int num; cout << "请输入一个整数:"; cin >> num; cout << num << "的阶乘是:" << fact(num) << endl; return 0; } 
       
      
     
    
   
  

6.5

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; double myABS(double val) { if (val < 0) return val*-1; else return val; } double myABS2(double val) { return abs(val); } int main() { double num; cout << "请输入一个数:"; cin >> num; cout << num << "的绝对值是:" << myABS(num) << endl; cout << num << "的绝对值是:" << myABS2(num) << endl; return 0; } 
       
      
     
    
   
  

6.6

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; double myADD(double val1, double val2) { double result = val1 + val2; static unsigned iCnt = 0; ++iCnt; cout << "该函数已经累计执行了" << iCnt << "次" << endl; return result; } int main() { double num1, num2; cout << "请输入两个整数:"; while (cin >> num1 >> num2) { cout << num1 << "与" << num2 << "的求和结果是:" << myADD(num1, num2) << endl; } return 0; }
       
      
     
    
   
  

6.7

这里写代码片

6.8

#ifndef CHAPTER6_H_INCLUDED
#define CHAPTER6_H_INCLUDED

int fact(int);
double myABS(double);
#endif 

6.9

#include"Chapter6.h"
#include
  
   
using namespace std;
double myABS(double val)
{
    if (val < 0)
        return val*-1;
    else
        return val;
}

double myABS2(double val)
{
    return abs(val);
}
int fact(int val)
{
    if (val < 0)
        return -1;
    int ret = 1;
    for (int i = 1; i != val + 1; ++i)
        ret *= i;
    return ret;
}


#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         #include
        
          #include"Chapter6.h" using namespace std; int main() { int num; cout << "请输入一个整数:"; cin >> num; cout << num << "的阶乘是:" << fact(num) << endl; return 0; }
        
       
      
     
    
   
  

6.10

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; void mySWAP(int *p, int *q) { int tmp = *p; *p = *q; *q = tmp; } int main() { int a = 5, b = 10; int *r = &a, *s = &b; cout << "交换前:a=" << a << ",b=" << b << endl; mySWAP(r, s); cout << "交换后:a=" << a << ",b=" << b << endl; return 0; }
       
      
     
    
   
  

6.11

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; void reset(int &i) { i = 0; } int main() { int num = 10; cout << "重置前:num=" << num << endl; reset(num); cout << "重置后:num=" << num << endl; return 0; }
       
      
     
    
   
  

6.12

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; void mySWAP(int &i, int &j) { int tmp = i; i = j; j = tmp; } int main() { int a = 5, b = 10; int *r = &a, *s = &b; cout << "交换前:a=" << a << ",b=" << b << endl; mySWAP(a,b); cout << "交换后:a=" << a << ",b=" << b << endl; return 0; }
       
      
     
    
   
  

6.13

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; void a(int); void b(int&); int main() { int s = 0, t = 10; a(s); cout << s << endl; b(t); cout << t << endl; return 0; } void a(int i) { ++i; cout << i << endl; } void b(int& j) { ++j; cout << j << endl; }
       
      
     
    
   
  

6.17

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; bool HasUpper(const string& str) { for (auto c : str) { if (isupper(c)) return true; return false; } } void ChangeToLower(string& str) { for (auto &c : str) { c = tolower(c); } } int main() { cout << "请输入一个字符串:" << endl; string str; cin >> str; if (HasUpper(str)) { ChangeToLower(str); cout << "转换后的字符串是:" << str << endl; } else { cout << "该字符串不含大写字母,无须转换" << endl; } return 0; }
       
      
     
    
   
  

6.21

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; int myCompare(const int val, const int *p) { return (val > *p)  val : *p; } int main() { srand((unsigned)time(NULL)); int a[10]; for (auto &i : a) i = rand() % 100; cout << "请输入一个数:"; int j; cin >> j; cout << "您输入的数与数组首元素中交大的是:" << myCompare(j, a) << endl; cout << "数组的全部元素是:" << endl; for (auto i : a) cout << i << " "; cout << endl; return 0; }
       
      
     
    
   
  

6.22

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; void SwapPointer1(int *p, int *q) { int *temp = p; p = q; q = temp; } void SwapPointer2(int *p, int *q) { int temp = *p; *p = *q; *q = temp; } void SwapPointer3(int *&p, int *&q) { int *temp = p; p = q; q = temp; } int main() { int a = 5, b = 10; int *p = &a, *q = &b; cout << "交换前:" << endl; cout << "p的值是:" << p << ",q的值是:" << q << endl; cout << "p所指的值是:" << *p << ",q所指的值是:" << *q << endl; SwapPointer1(p, q); cout << "交换后:" << endl; cout << "p的值是:" << p << ",q的值是:" << q << endl; cout << "p所指的值是:" << *p << ",q所指的值是:" << *q << endl; a = 5, b = 10; cout << "交换前:" << endl; cout << "p的值是:" << p << ",q的值是:" << q << endl; cout << "p所指的值是:" << *p << ",q所指的值是:" << *q << endl; SwapPointer2(p, q); cout << "交换后:" << endl; cout << "p的值是:" << p << ",q的值是:" << q << endl; cout << "p所指的值是:" << *p << ",q所指的值是:" << *q << endl; a = 5, b = 10; cout << "交换前:" << endl; cout << "p的值是:" << p << ",q的值是:" << q << endl; cout << "p所指的值是:" << *p << ",q所指的值是:" << *q << endl; SwapPointer3(p, q); cout << "交换后:" << endl; cout << "p的值是:" << p << ",q的值是:" << q << endl; cout << "p所指的值是:" << *p << ",q所指的值是:" << *q << endl; return 0; }
       
      
     
    
   
  

6.23

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; void print1(const int *p) { cout << *p << endl; } void print2(const int *p, const int sz) { int i = 0; while (i != sz) { cout << *p++ << endl; ++i; } } void print3(const int *b, const int *e) { for (auto q = b; q != e; ++q) cout << *q << endl; } int main() { int i = 0; int j[2] = { 0, 1 }; print1(&i); print1(j); print2(&i, 1); print2(j, sizeof(j) / sizeof(int)); auto a = begin(j); auto b = end(j); print3(a, b); return 0; } 
       
      
     
    
   
  

6.25

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; int main(int argc, char **argv) { string str; for (int i = 0; i != argc; i++) str += argv[i]; cout << str << endl; return 0; }
       
      
     
    
   
  

6.26

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; int main(int argc, char **argv) { for (int i = 0; i != argc; i++) { cout << "argc[" << i << "]:" << argv[i] << endl; } return 0; } 
       
      
     
    
   
  

6.27

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; int iCount(initializer_list
        
          il) { int count = 0; for (auto val : il) count += val; return count; } int main() { cout << "1,6,9的和是:" << iCount({ 1, 6, 9 }) << endl; cout << "4,5,9,18的和是:" << iCount({ 4, 5, 9, 18 }) << endl; cout << "10,10,10,10,10,10,10,10,10的和是:" << iCount({ 10, 10, 10, 10, 10, 10, 10, 10, 10 }) << endl; return 0; }
        
       
      
     
    
   
  
#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; void print(vector
        
          v, int index) { unsigned sz = v.size(); if (!v.empty() && index < sz) { cout << v[index] << endl; print(v, index + 1); } } int main() { vector
         
           v = { 1, 3
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++ string类和字符串的访问和拼.. 下一篇VC++入门经典学习笔记--结构和类

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目