[C] 纯文本查看 复制代码 #include <windows.h>
using namespace std;
int n,s,w;
struct t//想用结构体来存多个字符串
{
string a;
}z[100];
string e//这是一个函数吗,那应该有参数列表,没有参数也要写上()
{
//这里少了两组循环,外循环依次访问z[i],内循环依次访问z[i]中的字符串a的所有字符a[j]
while(z[i]!="/0")//字符串末尾应该是'\0' ,访问结构体元素应该写成 z[i].a的形式
{
if(z[i]>="A"&&z[i]<="Z")//z[i].a[j]>'A'
{
s++;//统计大写字母
}
else//不是大写就是小写么 ,还有空格的情况
{
w++;
}
}
}
bool cmp(t ch)//本题应该不需要排序
{
if(s!=w)
{
if(s>w)
{
return ch -"a"+"A";
}
else
{
return ch;
}
}
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>z[i].a;//cin无法输入空格
}
sort(z,z+n,cmp);//不用排序,根据上面统计的大小写字符数量重新生成字符串并输出
for(int j=0;j<=n;j++)
{
cout<<z[j].a<<endl;
}
}//该题有一定难度,我在20221028的课程记录下写了答案,写不出来可以去看下答案 |