c++数学思维问题······
/*程序要求读入一个最长100个字符的句子。对这个句子进行调试,输出间距正确,且首字母正确大写的结果。换言之,在输出句子中国,有两个或者更多空格构成的所有字符串都必须压缩成一个空格。句子以大写字母开头。但除此之外不能再有其他任何大写字母(专业名词也是)。将换行符视为一个空格,您需要将任意数量的换行符压缩成单独一个空格。假定句子以一个句点符号结尾,而且句子中没有其他句点。列入
the Answer to life, the Universe, and everything
IS 42
所生成的输出是
The answer to life,the universe,and everything is 42.
这题对我来说有几个难点,怎么把多个空格压缩成一个空格&&怎么检查第一个以外都是小写字母。
*/
#include<iostream>
#define maxsize 20
using namespace std;
void main()
{
char string[maxsize];
int i,j;
cout<<"请您输入一个最长20个字符的句子:"<<endl;
for(i=0;i<maxsize;i++)
cin>>string[i];
for(i=1;i<maxsize;i++)
{
if(string[0]>=97||string[0]>=122)
string[0]=string[0]-32;
else if(string[i]>=65||string[i]<=90)
string[i]=string[i]+32;
else
{
if(string[i]==' '||string[i]!=',')
{
for(j=i+1;j<maxsize;j++)
{
if(string[j]==' ')
string[j]=string[j+1];
}
}
}
}
cout<<"输出修改后的字符句子:"<<endl;
for(i=0;i<maxsize;i++)
cout<<string[i];
cout<<endl;
}