首页 > 其他分享 >PTA|C语言|指针

PTA|C语言|指针

时间:2023-12-23 22:38:07浏览次数:49  
标签:int max 样例 PTA C语言 char str 字符串 指针

PTA|C语言|指针_#include


计算最长的字符串长度

本题要求实现一个函数,用于计算有n个元素的指针数组s中最长的字符串的长度。

函数接口定义:
int max_len( char *s[], int n );

其中n个字符串存储在s[]中,函数max_len应返回其中最长字符串的长度。

裁判测试程序样例:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define MAXN 10
#define MAXS 20

int max_len( char *s[], int n );

int main()
{
    int i, n;
    char *string[MAXN] = {NULL};
    
    scanf("%d", &n);
    for(i = 0; i < n; i++) {
        string[i] = (char *)malloc(sizeof(char)*MAXS);
        scanf("%s", string[i]);
    }
    printf("%d\n", max_len(string, n));

    return 0;
}

/* 你的代码将被嵌在这里 */
输入样例:
4
blue
yellow
red
green
输出样例:
6
int max_len(char *s[], int n) 
{
    int max = (int) strlen(s[0]);
    for (int i = 1; i < n; i++) 
    {
        max = (int) strlen(s[i]) > max ? (int) strlen(s[i]) : max;
    }
    return max;
}

字符串的连接

本题要求实现一个函数,将两个字符串连接起来。

函数接口定义:
char *str_cat( char *s, char *t );

函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址。

裁判测试程序样例:
#include <stdio.h>
#include <string.h>

#define MAXS 10

char *str_cat( char *s, char *t );

int main()
{
    char *p;
    char str1[MAXS+MAXS] = {'\0'}, str2[MAXS] = {'\0'};
    
    scanf("%s%s", str1, str2);
    p = str_cat(str1, str2);
    printf("%s\n%s\n", p, str1);
    
    return 0;
}

/* 你的代码将被嵌在这里 */
输入样例:
abc
def
输出样例:
abcdef
abcdef
char *str_cat( char *s, char *t )
{
    char *p=s;
    s=s+strlen(s);
    while(*t!='\0')
    {
        *s=*t;
        s++;
        t++;
    }
    return p;
}

指定位置输出字符串

本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。

函数接口定义:
char *match( char *s, char ch1, char ch2 );

函数match应打印s中从ch1ch2之间的所有字符,并且返回ch1的地址。

裁判测试程序样例:
#include <stdio.h>

#define MAXS 10

char *match( char *s, char ch1, char ch2 );

int main()
{
    char str[MAXS], ch_start, ch_end, *p;
    
    scanf("%s\n", str);
    scanf("%c %c", &ch_start, &ch_end);
    p = match(str, ch_start, ch_end);
    printf("%s\n", p);

    return 0;
}

/* 你的代码将被嵌在这里 */
输入样例1:
program
r g
输出样例1:
rog
rogram
输入样例2:
program
z o
输出样例2:
(空行)
(空行)
输入样例3:
program
g z
输出样例3:
gram
gram
char *match( char *s, char ch1, char ch2 )
{
    int i, flag=0;
    char *p=NULL;
    for(i=0;*(s+i)!='\0';i++)
    {
        if(*(s+i)==ch1||flag==1)
        {
            if(flag==0)p=s+i;
            printf("%c",*(s+i));
            flag=1;
        }
        if(flag==1&&*(s+i)==ch2)break;
    }
    printf("\n");
    if(p==NULL)
        p=s+i;
    return p;
}

标签:int,max,样例,PTA,C语言,char,str,字符串,指针
From: https://blog.51cto.com/heliotopekxy/8946398

相关文章

  • C语言一些小细节
    intvalue=1;intarr[2]={value,2};//C语言错,C++对intarr1[2];arr1[0]=1;//C语言错,C++错inta;a=10;//C语言错,C++错intmain(){intnum;staticintarr[2]={num,2};//C语言错,C++错intnum1=10;staticintarr1[2]={num,2};//C语言错,C++错retu......
  • C语言实现面向对象的方法详解
    结构体替代类使用结构体来封装变量和函数,即可实现类似对象的功能。其中,结构体包含变量和函数指针,变量用于存储成员变量的值,函数指针用于实现成员函数的功能。而每个对象的变量是独立的,因此可以使用这种方法实现类似对象的功能。下面是一个例子,以封装一个“人”的结构体为例:typ......
  • C语言函数题
    函数篇编写一个函数,可以实现给出算数运算的功能,给出两个值以及算数运算符号可以算出相应的结果#include<stdio.h>intmath(inta,intb,charc);//开头声明一个自己定义的函数intmain(){inta,b,c,sum;printf("请输入计算公式:");scanf("%d%c%d",&a,&c,&b);......
  • 字符函数和字符串函数:strcpy、strcat——《初学C语言第36天》
    ////strcat(字符串追加)——>头文件:<string.h>//strcat的功能就是:1.先找到目标字符串的结尾(\0)然后进行2.strcpy拷贝//char*strcat(char*destination,constchar*source)//括号里为两个地址,返回类型char*//destination目的地 source源头,把源头的数据追加到目的地空间的末......
  • 嵌入式系统的C语言程序看图说话
    这段代码是一段嵌入式系统的C语言程序,主要功能包括初始化系统、配置硬件、初始化Flash数据、检查板卡信息等。以下是对代码的解析:定义了一些变量和结构体,如CanRxlMsgRxMessage,inti=0;等。voidfun(void)函数用于设置中断向量表的地址。voidfun1(void)函数用于处理更新状态变量......
  • linux-firewalld 和iptable的策略配置(nat 以及端口开放)
    一、配置防火墙开发端口1、sudoyuminstallfirewalldsudosystemctlstartfirewalldsudosystemctlenablefirewalld2、配置防火墙规则firewall-cmd--permanent--add-service=sshfirewall-cmd--permanent--add-service=httpfirewall-cmd--permanent......
  • c语言单链表
    #include<stdio.h>#include<stdlib.h>#defineERROR-1#defineSUCCESS0structlist_node{intdata;structlist_node*next;/*data*/};typedefstructlist_nodelink_list;intlist_get_size(link_list*list){intcount=0;......
  • 3.c++进阶语法函数和指针
    1.函数代码练手2.指针......
  • [C++] 智能指针(shared_ptr、unique_ptr)
    作者:丶布布......
  • centos下Iptables的安装(离线)
    背景:要给公司服务器屏蔽端口,然后开服务IP白名单,修改完iptables文件后,想执行指令生效,发生指令不存在vim/etc/sysconfig/iptables-AINPUT-s10.xx.xx.xx/24-ptcp-mtcp--dport8888-jACCEPT-AINPUT-s10.xx.xx.xx/24-ptcp-mtcp--dport9999-jACCEPT然后重......