C++里cin,cin.getline, getline,gets几个不同的输入&小九九格式问题

    技术2022-07-11  105

    C++中有多种输入方式,以满足用户输入的个性化

    cin (不多赘述) 结束方式:空格,tab,回车 头文件:iostream

    gets() 功能与scanf(“%s”,s)相似。 结束方式:回车 头文件:iostream+string

    cin.get() 用来接收字符

    int main() { char ch; cin.get(ch); cout<<ch<<endl; }

    输入

    Holle

    输出

    H Program ended with exit code: 0

    结束方式:空格,tab,回车 头文件:iostream

    cin.get(数组名,接收字符数) 用来接收一行有空格的字符串 int main() { char ch[100]; cin.get(ch,100); cout<<endl<<ch<<endl; }

    输入

    Hello World 1 2 3

    输出

    Hello World Program ended with exit code: 0

    结束方式:回车 头文件:iostream

    getline(cin,字符串名) 用来接收一行有空格和回车的字符串组 以题举例链接: link.(去掉空格) 题解来自:link. int main() { string word; while (getline(cin, word)) { if (word == "End of file") return 0; string s; for (auto& a : word) if (isgraph(a)) s += a; cout << s << endl; } }

    输入

    Hello World 1 2 3 ghj fgh

    输出

    Helloworld 123 ghjfgh Program ended with exit code: 0

    结束方式: 头文件:iostream+string

    cin.getline(数组名,接收字符数) 用来接收一行有空格的字符串 int main() { char ch[2][100]; int i=0; while(i<2) { cin.getline(ch[i],100); cout<<endl<<ch[i]<<endl; } }

    输入

    Hello World 1 2 3

    输出

    Hello World 1 2 3 Program ended with exit code: 0

    结束方式: 头文件:iostream+string

    getchar() 用于接收字符,可以用来消化一个回车。 main () { char ch; ch=getchar(); cout<<ch<<endl; }

    输入

    Hello World

    输出

    H Program ended with exit code: 0

    消化回车

    main () { char ch,sh; ch=getchar(); getchar(); sh=getchar(); cout<<ch<<sh<<endl; }

    输入

    H W

    输出

    HW Program ended with exit code: 0

    小九九格式问题(有些东西还是要记得…)

    如果只是单纯的用空格来隔开每个公式就会是这样的格式。

    1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

    但是用"\t"就有自动的对齐

    int main() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%d\t",j,i,j*i); } printf("\n"); } } //结果 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
    Processed: 0.017, SQL: 9