说白了就是这么读取一整行字符串,装载两种方法:
方法一:
使用 gets()函数
原帖地址:http://hi.baidu.com/carl436/item/ce4ec75dfb3aee14aaf6d7a9
#include<stdio.h>
#include<string.h>
char a[1000];
int main()
{
while(gets(a))
{
if(strcmp(a,"ENDOFINPUT")==0)break;
if(strcmp(a,"START")&&strcmp(a,"END"))
{
for(int i=0;i<strlen(a);i++)
{
if(a[i]>='A'&&a[i]<='Z')
{
a[i]=a[i]-5;
if(a[i]<'A')a[i]=a[i]+26;
}
printf("%c",a[i]);
}
printf("\n");
}
}
return 0;
}
方法二:
使用 getline()函数
原帖地址:http://www.cnblogs.com/kuangbin/archive/2011/07/31/2122919.html
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
int main()
{
//freopen("test.in","r",stdin);
//freopen("test.out","w",stdout);
char a[27]="VWXYZABCDEFGHIJKLMNOPQRSTU";
char str[1000];
int i,len;
while(cin.getline(str,1000))
{
if(strcmp(str,"ENDOFINPUT")==0)
break;
if(strcmp(str,"START")!=0&&strcmp(str,"END")!=0)
{
len=strlen(str);
for(i=0;i<len;i++)
{
if(str[i]>='A'&&str[i]<='Z')
printf("%c",a[str[i]-'A']);
else
printf("%c",str[i]);
}
cout<<endl;
}
}
return 0;
}