gets()与puts()和cin>>与cout<<的比较

本文对比了C++中gets与cin两种输入方式及puts与cout输出方式的特点。指出gets可以接收含空格的字符串,而cin只能接收空格前的内容。同样地,puts能输出含空格的字符串,而cout不能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

—–gets()与puts()和cin>>与cout<<的比较(7.21)—–

#include<string.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
int main()
{
    char a[100], b[100];
    cout<<"输入一个字符串(gets方式):";
    gets (a);
    puts (a);

    cout<<"输入一个字符串(cin方式):";
    cin>>b;
    cout<<b;

    cout<<endl;

    return 0;
}

//总结:
// 1.gets()能够接收含有空格的字符串,而cin>> 只能接受空格前边的一段字符!
// 2.puts()能够输出含有空格是字符串,而cout<< 只能输出空格前边的一段字符!
// 3.puts()只能用于输出字符串!
// 4.当要输入的字符串本身含有空格时,要用gets()不用cin>>!

#include<bits/stdc++.h> using namespace std; int main(){ int aa[8]; int a,b,c,cang; for(int i=0;i<4;i++){ cin>>aa[i]; aa[i+4]=aa[i]; } cin>>a>>b>>c; cout<<"step 1:"; for(int i=0;i<8;i++)cout<<aa[i]<<' '; cout<<endl; int bb[8]; for(int i=0;i<8;i++){ bb[i]=aa[(i+a)%8]; } cout<<"step 2:"; for(int i=0;i<8;i++)cout<<bb[i]<<' '; cout<<endl; int cc[8]; for(int i=0;i<8;i++){ if(i==0)cc[i]=bb[3]; else if(i<=3&&i>=1)cc[i]=bb[i-1]; else cc[i]=bb[i]; } cout<<"step 3:"; for(int i=0;i<8;i++)cout<<cc[i]<<' '; cout<<endl; cang=cc[0]; int dd[7]; for(int i=0;i<7;i++){ dd[i]=cc[i+1]; } cout<<"step 4:"; for(int i=0;i<7;i++)cout<<dd[i]<<' '; cout<<endl; int ee[7]; if(b==1){ ee[0]=dd[1]; ee[1]=dd[2]; ee[2]=dd[3]; ee[3]=dd[0]; ee[4]=dd[4]; ee[5]=dd[5]; ee[6]=dd[6]; } else if(b==2){ ee[0]=dd[2]; ee[1]=dd[3]; ee[2]=dd[0]; ee[3]=dd[1]; ee[4]=dd[4]; ee[5]=dd[5]; ee[6]=dd[6]; } else if(b==3){ ee[0]=dd[3]; ee[1]=dd[0]; ee[2]=dd[1]; ee[3]=dd[2]; ee[4]=dd[4]; ee[5]=dd[5]; ee[6]=dd[6]; } cout<<"step 5:"; for(int i=0;i<7;i++)cout<<ee[i]<<' '; cout<<endl; int ff[7-c]; for(int i=0;i<7-c;i++){ ff[i]=ee[i+c]; } cout<<"step 6:"; for(int i=0;i<7-c;i++)cout<<ff[i]<<' '; cout<<endl; int gg[7-c]; for(int i=0;i<7-c;i++){ gg[i]=ff[(i+7)%(7-c)]; } cout<<"step 7:"; for(int i=0;i<7-c;i++)cout<<gg[i]<<' '; cout<<endl; if(c==0){ cout<<"step 8:"<<gg[2]<<' '<<gg[3]<<' '<<gg[4]<<' '<<gg[5]<<' '<<gg[6]<<' '<<gg[0]<<endl; cout<<"step 8:"<<gg[4]<<' '<<gg[5]<<' '<<gg[6]<<' '<<gg[0]<<' '<<gg[2]<<endl; cout<<"step 8:"<<gg[6]<<' '<<gg[0]<<' '<<gg[2]<<' '<<gg[4]<<endl; cout<<"step 8:"<<gg[2]<<' '<<gg[4]<<' '<<gg[6]<<endl; cout<<"step 8:"<<gg[6]<<' '<<gg[2]<<endl; cout<<"step 8:"<<gg[6]<<endl; } else if(c==1){ cout<<"step 8:"<<gg[2]<<' '<<gg[3]<<' '<<gg[4]<<' '<<gg[5]<<' '<<gg[0]<<endl; cout<<"step 8:"<<gg[4]<<' '<<gg[5]<<' '<<gg[0]<<' '<<gg[2]<<endl; cout<<"step 8:"<<gg[0]<<' '<<gg[2]<<' '<<gg[4]<<endl; cout<<"step 8:"<<gg[4]<<' '<<gg[0]<<endl; cout<<"step 8:"<<gg[4]<<endl; } else if(c==2){ cout<<"step 8:"<<gg[2]<<' '<<gg[3]<<' '<<gg[4]<<' '<<gg[0]<<endl; cout<<"step 8:"<<gg[4]<<' '<<gg[0]<<' '<<gg[2]<<endl; cout<<"step 8:"<<gg[2]<<' '<<gg[4]<<endl; cout<<"step 8:"<<gg[2]<<endl; } else if(c==3){ cout<<"step 8:"<<gg[2]<<' '<<gg[3]<<' '<<gg[0]<<endl; cout<<"step 8:"<<gg[0]<<' '<<gg[2]<<endl; cout<<"step 8:"<<gg[0]<<endl; } cout<<cang<<' '<<cang; return 0; } 用ruby写
最新发布
08-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值