首页 > 其他分享 >PTA-2023第十三次练习题目题解

PTA-2023第十三次练习题目题解

时间:2023-12-15 12:11:37浏览次数:40  
标签:str2 int 题解 str1 PTA char ++ str 2023

PTA-2023第十三次练习题目题解

以下代码已做防抄袭处理,切勿抄袭。

注意:手机端因为屏幕限制,代码会有(不希望的)换行。解决方案:1.建议使用电脑端打开。2.点击代码进入全屏观看。

6-25 实验9_5_反向打印字符串

思路就是每次先找到字符串的最后一位,然后输出这一位,输出之后将这一位改为‘\0’,然后递归。

void reversePrint(char str[])
{
	int i = 0;//控制str的位数
	while (str[i] != '\0') i++;//如果没有找到字符串的末尾,就i++向后找
	if (i == 0)  return;//如果字符串为空就结束递归
	printf("%c", str[i - 1]);//打印当前位数
	str[i - 1] = '\0';//修改为'\0'
	return reversePrint(str//递归
}

6-26 实验9_6_单词字符统计

我们定义一个数组,用来储存每个字母出现的次数。并且用下标代表字母的ASCII值,下标对应的数值表示字母出现的次数。

例如:如果有一个'a'字符,他对应的ASCII值是97,那我们就s[97]++;

最后遍历一遍s数组中97-122之间的数值找到最大值和最小值

int s[200];
int  getResult(char word[])
{
	int i = 0;//指向word数组
	while (word[i] != '\0')
	{
		s[word[i++]]++;//向s数组中储存
	}
	int max = -1, min = 200;
	for (int j = 'a'; j <= 'z'; j++)//寻找最大值,最小值
	{
		if (s[j] != 0)
		{
			if (s[j] > max) max = s[j];
			if (s[j] < min)  min = s[j];
		}
	}
	//判断是否是质数
	if (isPrime(max - min)) return max - min;
	else return -1;
}

6-27 实验9_7_设计函数int getVowel(char str[],char vowel[])

利用双指针,指针i指向str,指针j指向vowel,如果str[i]满足条件,就将str[i]储存到vowel[j]中,并且j向后移动一位。

最后不要忘记补充'\0'。

int getVowel(char str[], char vowel[])
{
    int  j = 0;//设定两个指针指向两个数组
    for(int i =0;str[i]!='\0';i++)
    {
        //如果说str[i]满足条件
   if (str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u')
      {
       //将这一位储存到vowel中,并将j向后平移一位
            vowel[j++] = str[i];
      }
    }
    //字符串末尾补充'\0'
    vowel[j] = '\0';
    //返回位数
    return j;
}

6-28 实验10_1_英超一

遍历一遍字符串,然后根据题目所给的条件计算就好。

int getScore(char* s)
{
    int score = 0;//储存最终得分
    for (int i = 0; s[i] != '\0';i++)//遍历字符串
    {
        if (s[i] == 'W')//如果赢,加3分
        {
            score += 3;
        }
        else if (s[i] == 'D')//平局加1分
        {
            score += 1;
        }
    }
    return score;//返回分数
}

6-31 实验10_4_设计函数 locatesubstr

如果str1中的某一个字母和str2中的第一个字母相同了,那就判断这个字母之后的那个字符串是否与str2相同。以此类推。只要注意使用指针就好了

bool check(char* str1, char* str2)
{
    while (*str2 != '\0')//遍历一遍str2
    {
        if (*str1 == '\0') return false;//如果长度不相同,就返回false
        if (*str2 != *str1) return false;//如果不是子串,也返回false
        str2++;
        str1++;
    }
    //如果是子串,返回true
    return true;
}

char* locatesubstr(char* str1, char* str2)
{
    while(*str1 !='\0')//遍历一遍str1
    {
        if (*str1 == *str2)//如果str1中的某一个字母和str2中的第一个字母相同
        {
            if (check(str1,str2))//判断这个位置之后的那个字符串是否与str2相同
            {
                return str1;//如果相同返回这个位置的指针
            }
        }
        str1++;
    }
    //如果没有找到,返回NULL
    return NULL;
}

6-33 实验10_8_设计函数 void delcharfun(char *str,char ch)

我们定义一个新数组,用来储存删除后的字符串,最后将新字符串储存回原字符串中就好了。

void delcharfun(char* str, char ch)
{
    char str2[99999];//储存新字符串
    int j = 0;
    for (int i = 0; str[i] != '\0'; i++)
    {
        if (str[i] == ch)//如果是需要删除的字符,就跳过这一个字符
        {
            continue;
        }
        else//否则就储存到str2中
        {
            str2[j++] = str[i];
        }
    }
    //复制回原数组
    for (int k = 0; k < j; k++)
    {
        str[k] = str2[k];
    }
    //末尾加'\0'
    str[j] = '\0';
}

标签:str2,int,题解,str1,PTA,char,++,str,2023
From: https://www.cnblogs.com/csclixuan/p/17903108.html

相关文章

  • #8 2023.12.11
    453.THUPC2023Mputs("kejie");J每个点可能的值是个区间,首先是儿子的极值,如果某个极值有大于一个,就会让极值加一。Hsolve(l,r,c) link([l,mid],[mid+1,r],c) solve(l,mid,c+1) solve(mid+1,r,c+1)这样同一个颜色就只有偶环,D分母不太大,直接枚举就行了。A路径不会......
  • 荣誉见证|亚数成功入围2023年“中知路”长三角高价值专利运营大赛复赛百强榜
    近期,为推进知识产权强市建设纲要和“十四五”规划实施,国家知识产权国际运营(上海)平台、上海知识产权交易中心有限公司联合多省产权交易中心公司作为共同主办单位,以知识产权高质量发展全力支撑长三角经济社会高质量发展为主题,以高价值专利培育和运营为切入点,联合举办了“中知路”长三......
  • 2023-12-15 保存文件会生成一个dist包 ==》编译器配置冲突问题
    如题,每次保存文件都会生成个dist包,这个包有时候后会阻碍程序运行,所以必须要解决!在一番排查下,发现是编译器的问题,我原来用的是vscode,换成hbuildex后就不会生成了,我之前还怀疑是终端的问题,然后我在vscode保存文件,用其它终端(powershell)运行项目,结果还是生成了dist包,所以可以确定是v......
  • 华秋荣获亿邦动力2023产业互联网千峰奖,引领电子产业数字化变革
    喜讯!继华秋荣获2023中国产业数字化百强榜企业2023深圳行业领袖企业100强后华秋再次荣获亿邦动力2023产业互联网“千峰奖·数字供应链 12月1日晚,在2023亿邦产业互联网年会千峰之夜颁奖晚宴上,在一百余位产业互联网企业决策人、投资人及业界人士的共同见证下,2023产业互联网千......
  • 【2023-12-14】努力就好
    20:00有时候你能听到雪在下,如果你安静下来,心无杂念,跟自己以及一切都毫无怨艾,你就能躺在黑暗中听到下雪。                                                 ——雷蒙德·......
  • 202312142321_《遍历 for customised data structure 》
    functioncalculateAssembledSetsAndReturnSkus(suitComponents,inventory){letcomponentCount={};letminComponent={};letresult={};//CountcomponentsinsuitComponentsObject.entries(suitComponents).forEach(([_,components])......
  • P8818 [CSP-S 2022] 策略游戏 题解
    P8818[CSP-S2022]策略游戏题解题目链接P8818[CSP-S2022]策略游戏简化题意小\(A\)先在\(a[l1,r1]\)中选择一个数\(x\),小\(B\)再在\(b[l2,r2]\)中选择一个数\(y\),最后的分数就是\(x\timesy\)。小\(A\)想让分数尽可能地大,而小\(B\)则想让分数尽可能地小......
  • 《2023-2024-1 20232427《网络空间安全导论》第六周学习总结》
    《2023-2024-120232427《网络空间安全导论》第六周学习总结》教学学习内容总结6.1应用安全概述在各类应用服务系统中,身份认证是保障应用安全的基础,其不仅包括传统的人的身份认还,设备.软件等网络实体都需要身份认证和可信管理,不同场所不同约束条件下需要采用多种多样的身份认......
  • 20231214
    件需求与分析课堂测试十——综合案例分析(5分) 班级:信2105-2  学号:20213866   姓名:吕晓彤根据下列案例需求描述,回答相关问题:有一个对外营业的会议中心,有各种不同规格的会议室,为用户提供以下服务:1、用户可以按照会议人数、会议时间预订会议室。可以只预订1次,也可预订定期......
  • 2023综合设计——多源异构数据采集与融合应用综合实践
    综合设计——多源异构数据采集与融合应用综合实践​ 这个项目属于哪个课程2023数据采集与融合技术组名、项目简介组名:普雷蒙奇、项目需求:多模态情感分析、项目目标:通过在网页中搜索关键词来得到一个综合的情感分析、项目开展技术路线:前端、python、华为云平台团......