xdoj指针,最长单词的长度,字符串长度判断 ,字符串部分复制,判断字符串是否是回文

最长单词的长度

给定一个英文句子,统计这个句子中最长单词的长度,并在屏幕上输出。

输入说明

从键盘输入一个英文句子,句子中只含有英文字符和空格,句子以'.'结束。句子总长不超过100个字符。

输出说明

输出一个整数,表示这个句子中最长单词的长度。允许句子中有相同长度的单词。

输入样例1

I am a student.

输入样例2

The cat gets a job.

输出样例

输出样例1

7

输出样例2

4

#include <stdio.h>

#include <string.h>

int main()

{

char sentence[101]={'\0'};

gets(sentence);

int i=0,max=0,c=0;

int n=strlen(sentence);

for(i=0;i<n;i++)

{

if((sentence[i]>='a' && sentence[i]<='z') || (sentence[i]>='A' && sentence[i]<='Z'))

{

c++;

}

else

{

c=0;

}

if(c>max)

{

max=c;

}

}

printf("%d",max);

return 0;

}

字符串长度判断

写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

输入说明:

输入一个字符串

输出说明:

输出该字符串中元素的个数。

输入样例:

boy

输出样例:

3

#include <stdio.h>

int my_strlen(char* arr)

{

int i=0;

while(*(arr+i)!='\0')

{

i++;

}

return i;

}

int main()

{

char input[100]={'\0'};

gets(input);

int n=my_strlen(input);

printf("%d",n);

return 0;

}

字符串部分复制

问题描述

给定一个的字符串,从第m个字符开始复制成为另一个字符串。

编写函数copystr( )完成字符串复制,使用字符类型的指针变量作为形参

主函数完成字符串输入和m值的输入,函数调用,以及最后结果的输出。

输入说明

第一行从键盘输入一个字符串,该字符串中字符可以是字母、数字、空格和其它字符。字符串总长不超过50个字符。

第二行输入整数m的值。

输出说明

若该字符串长度小于m,则输出error,否则输出从该字符串第m个字符复制的字符串。

输入样例1

Abc ba/!.123

3

输入样例2

abced

6

输出样例

输出样例1

c ba/!.123

输出样例2

error

#include <stdio.h>

#include <string.h>

void copystr(char arr[],int m,int n)

{

int i=0;

for(i=m;i<=n;i++)

{

printf("%c",arr[i-1]);

}

}

int main()

{

int m=0;

char str[100];

gets(str);

scanf("%d",&m);

int n=strlen(str);

if(n<m)

{

printf("error");

}

else

{

copystr(str,m,n);

}

return 0;

}

判断字符串是否是回文

问题描述

给定一个字符串,判断该字符串是否是回文,并在屏幕上输出判断结果。如"abcba"即是回文。

输入说明

从键盘输入一个字符串,该字符串中字符可以是字母、数字和空格,字母区分大小写。字符串总长不超过50个字符。

输出说明

若该字符串是回文,则输出yes,否则输出no。

输入样例1

abcba

输入样例2

Abccba

输出样例1

yes

输出样例2

no

#include <stdio.h>

#include <string.h>

int main()

{

char str[51] = {'\0'};

gets(str);

int n = strlen(str);

int sign=0;

int i=0,mid=0;

if(n%2==1)

{

mid = (n + 1) / 2;

for(i=0;i<mid-1;i++)

{

if(str[i]!=str[n-1-i])

{

sign = 1;

}

}

if(sign == 0)

{

printf("yes");

}

else

{

printf("no");

}

}

else

{

mid = n/2;

for(i=0;i<=mid-1;i++)

{

if(str[i]!=str[n-1-i])

{

sign = 1;

}

}

if(sign == 0)

{

printf("yes");

}

else

{

printf("no");

}

}

return 0;

}

相关推荐
青椒大仙KI1115 分钟前
24/9/19 算法笔记 kaggle BankChurn数据分类
笔记·算法·分类
^^为欢几何^^19 分钟前
lodash中_.difference如何过滤数组
javascript·数据结构·算法
豆浩宇19 分钟前
Halcon OCR检测 免训练版
c++·人工智能·opencv·算法·计算机视觉·ocr
浅念同学35 分钟前
算法.图论-并查集上
java·算法·图论
何不遗憾呢44 分钟前
每日刷题(算法)
算法
立志成为coding大牛的菜鸟.1 小时前
力扣1143-最长公共子序列(Java详细题解)
java·算法·leetcode
鱼跃鹰飞1 小时前
Leetcode面试经典150题-130.被围绕的区域
java·算法·leetcode·面试·职场和发展·深度优先
liangbm31 小时前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题
潮汐退涨月冷风霜1 小时前
机器学习之非监督学习(四)K-means 聚类算法
学习·算法·机器学习
B站计算机毕业设计超人1 小时前
计算机毕业设计Python+Flask微博情感分析 微博舆情预测 微博爬虫 微博大数据 舆情分析系统 大数据毕业设计 NLP文本分类 机器学习 深度学习 AI
爬虫·python·深度学习·算法·机器学习·自然语言处理·数据可视化