一個細節:
1. C語言中的 char c = getchar();
可以用於接收換行,即 '\n',如利用語句
if(c == '\n') ... 則可以是否輸入了回車符
2.C++中若定義了 char arr[100];
並接收字符 cin>>arr[0]; 並不可以接收 '\n'
本題代碼如下
#include <iostream> #include <string> #include <stdio.h> using namespace std; int main() { string start,end; char str[1001],temp; int i; while(cin>>start) { for(i = 0;i < 1001;i++) str[i] = 0; if(start == "ENDOFINPUT") break; getchar(); //接收回車鍵 for(i = 0;i < 1001;i ++) { str[i] = getchar(); if(str[i] == '\n') //輸入完畢 break; else if((str[i] >= 65) && (str[i] <= 90)) //進行轉化 { if(str[i] - 5 < 65) temp = str[i] - 5 + 26; else temp = str[i] - 5; cout<<temp; } else //直接輸出 cout<<str[i]; } cin>>end; cout<<endl; } return 0; }