hdu 2734 简单地字符串处理

题目没什么好说的,自己对字符串的输入输出有些混,所以在用gets和 getchar两个输入时不知道该用哪个了,

总结一下关于输入输出的方式

cin 用法

1.最基本的用法,输入一个数字

2.接受一个字符串,遇到空格,“TAB” 回车都结束

cin.get()的用法

用法1: cin.get(字符变量名)可以用来接收字符

#include <iostream>
using namespace std;
main ()
{
char ch;
ch=cin.get();               //或者cin.get(ch);
cout<<ch<<endl;
}

输入:jljkljkl
输出:j

用法2:cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格

#include <iostream>
using namespace std;
main ()
{
char a[20];
cin.get(a,20);
cout<<a<<endl;
}

输入:jkl jkl jkl
输出:jkl jkl jkl

输入:abcdeabcdeabcdeabcdeabcde (输入25个字符)
输出:abcdeabcdeabcdeabcd              (接收19个字符+1个'\0')

用法3:cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足.

cin.getline()的用法

接受一个字符串,可以接受空格并输出

 

#include<cstdio>
#include<string>

int main()
{
char s[500];
int sum;
while(gets(s) && s[0]!= '#')
{
sum = 0;
int scount = strlen(s);

for(int i=0; i < scount;i ++)
{
if(s[i] == ' ')
continue;
else
sum += (s[i]-64)*(i+1);
}
printf("%d\n",sum);

}

}

原文地址:https://www.cnblogs.com/lfyy/p/2797040.html