C++ cin.get(s,100)与cin.getline(s,100)有关问题

C++ cin.get(s,100)与cin.getline(s,100)问题:
下面代码中用了cin.get(s,100),要2个cin.get();而用cin.getline(s,100),只需一个cin.get();
代码如下:
#include <iostream>
using namespace std;
int count(char *s,char letter)
{
      int count=0;
     while(*s)
     if(*s++==letter) 
       count++;
    return (count);

int main()
{
          char str[100],c;int n;
         cout<<"Please input a integer:"<<endl;
         cin>>n;cin.get();
         while(n--)
        {    
             cout<<"input a string:";
            cin.get(str,10);
            cin.get();/*这里一个*/
             cout<< "input a letter:";
            cin>>c;
            cout<<"the count is:"<<count(str,c)<<endl; 
            cin.get();/*这里又一个,才使程序正常*/
}
 return 0;
}

#include <iostream>
using namespace std;
int count(char *s,char letter)
{
     int count=0;
     while(*s)
      if(*s++==letter) 
          count++;
     return (count);

int main()
{
         char str[100],c;int n;
         cout<<"Please input a integer:"<<endl;
         cin>>n;cin.get();
         while(n--)
     {
         cout<<"input a string:";
         cin.getline(str,10);/*这里用了cin.getline(str,100),下面只需一个cin.get(),就正常了*/ 
         cout<< "input a letter:";
         cin>>c;
         cout<<"the count is:"<<count(str,c)<<endl; 
         cin.get();
     }
     return 0;
}


C++

------解决方案--------------------

      /**
       *  @brief  Simple multiple-character extraction.
       *  @param  __s  Pointer to an array.
       *  @param  __n  Maximum number of characters to store in @a s.