计算最长的字符串长度
输入n (n<10)个字符串,输出其中最长字符串的有效长度。要求自定义函数 Int max_len ( char *s[],int n),用于计算有n个元素的指针数组s中最长的字符串的长度。
法一:
思路:设置一个指针数组与一个二维数组,使指针数组指向二维数组
#include<stdio.h>
#include<string.h>
int max_len(char*s[],int n)
{
int i,j=0;
for(i=0;i<n;i++)
{
if(strlen(s[i])>strlen(s[j]))
{
j=i;
}
}
return strlen(s[j]);
}
int main()
{
int i,n;
char*s[10];
char a[10][10];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",a[i]);
s[i]=a[i];
}
printf("%d",max_len(s,n));
}
法二:
思路:利用动态分配,malloc,只有一个指针数组
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int max_len(char*s[],int n)
{
int max=0;
int i;
for(i=0;i<n;i++)
{
if(strlen(s[max])<strlen(s[i]))
{
max=i;
}
}
return strlen(s[max]);
}
int main()
{
int n;
int i;
char*str[10];
scanf("%d",&n);
for(i=0;i<n;i++)
{
str[i]=(char*)malloc(sizeof(char)*10);/*这边本来想用strlen(str)+1的,不知道为什么会出错,用了这种方法,只能运行,但效率低下*/
scanf("%s",str[i]);
}
printf("%d\n",max_len(str,n));
return 0;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!