Discuz! Board

 找回密码
 立即注册
查看: 334|回复: 1

作业

[复制链接]

51

主题

54

帖子

8724

积分

论坛元老

Rank: 8Rank: 8

积分
8724

大牙狸 Lv:12
发表于 2022-10-29 17:49:04 | 显示全部楼层 |阅读模式
[C++] 纯文本查看 复制代码
#include <windows.h>
using namespace std;
int n,s,w; 
struct t
{
	string a;
}z[100];
string e
{
	while(z[i]!="/0")
	{
		if(z[i]>="A"&&z[i]<="Z")
		{
			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;
	}
	sort(z,z+n,cmp);
	for(int j=0;j<=n;j++)
	{
		cout<<z[j].a<<endl;
	}
}
回复

使用道具 举报

719

主题

906

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11898
发表于 2022-10-30 01:00:27 | 显示全部楼层
[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的课程记录下写了答案,写不出来可以去看下答案 
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-7-18 07:55 , Processed in 0.073282 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表