6-1 字符串 - 1. 字符串长度 (10分)

C语言标准函数库中包括 strlen 函数,用于计算字符串的长度。作为练习,我们自己编写一个功能与之相同的函数。

函数原型
int StrLen(const char *str);

说明:str为串的起始地址,函数值为字符串的长度(不含结束标记’\0’)。
裁判程序
#include <stdio.h>
#include <string.h>

int StrLen(const char *str);

int main()
{
char a[1024];
int n;
gets(a);
n = StrLen(a);
printf("%d\n", n);
return 0;
}

/* 你提交的代码将被嵌在这里 */

输入样例
abcd
输出样例
4

程序1:

int StrLen(const char *str)
{
	int i=0;
	//统计字符长度
	while(str[i]!='\0'){     
		i++;
	}
    return i;
} 

程序2:

int StrLen(const char *str)
{
    int i=0;
    while(*str!='\0'){
        *str++;
        i++;
    }
    return i;
}

注:此题需编写一个功能与strlen相同的函数,而不能调用strlen编写!

### 回答1: 题目描述 输入一个字符串,将其反向输出。 输入格式 一个字符串。 输出格式 反向输出的字符串。 样例输入 hello 样例输出 olleh 数据说明 输入字符串长度不超过 100。 ### 回答2: 这道题是让我们实现字符串反向输出的功能。具体来说,就是将输入的字符串从后往前依次输出。 我们可以通过遍历这个字符串,从最后一位开始,依次将每个字符输出。这里需要注意的是,字符串在 Python 中是不可变的,因此我们需要首先将它转换成一个列表,然后才能对其进行修改。 具体来说,我们可以像下面这样的方法来实现字符串反向输出: ```python # 输入一个字符串 s = input() # 将字符串转换成列表 lst = list(s) # 遍历列表,从最后一位开始,依次输出每个字符 for i in range(len(lst)-1, -1, -1): print(lst[i], end='') # 输出一个换行符,使其在终端中呈现为一行 print() ``` 我们首先使用 `input()` 函数来获取用户输入的字符串,然后使用 `list()` 函数将其转换成一个列表。接下来,我们使用 `for` 循环遍历这个列表。由于要从后往前依次输出每个字符,所以循环的起始值为 `len(lst)-1`,终止值为 `-1`(由于 Python 中的切片范围不包括终止值,因此此处取 `-1`)。循环的递减量为 `-1`,表示每次遍历都要向前移动一个位置。 在循环中,我们使用 `print()` 函数将每个字符输出,同时通过 `end=''` 参数指定输出完一个字符后不自动换行,从而实现字符的紧密排列。在循环结束后,我们再使用一个额外的 `print()` 函数输出一个换行符,从而使整个字符串反向输出在终端中呈现为一行。 总之,字符串反向输出是一道相对简单的 Python 编程问题,但对理解字符串的存储和操作方式,以及熟悉 `list()` 函数、`for` 循环等基础知识都非常有帮助。 ### 回答3: 这道题的目的是要求我们将输入的字符串进行反向输出。在字符串的操作中,字符串是一种很常见的数据类型。字符串是一系列字符的集合,可以包含字母、数字或符号。字符串可以被视为一个字符数组,它的每个字符都有一个对应的索引值,从0开始计数。 在Python中,我们可以使用循环语句和切片操作来实现字符串反向输出。循环语句可以遍历字符串中的每一个字符,而切片操作可以用于截取字符串的一部分。具体的实现方法如下: ``` # 输入字符串 s = input("请输入一个字符串:") # 使用循环语句,遍历字符串中的每一个字符 for i in range(len(s)-1, -1, -1): print(s[i], end='') # 使用切片操作,截取整个字符串并进行反向输出 print(s[::-1]) ``` 在上面的代码中,我们先通过`input`函数从键盘输入一个字符串。然后,我们使用了一个for循环来遍历字符串中的每一个字符,我们使用索引值从字符串的末尾向前遍历,每次遍历都会输出一个字符。同时为了让输出的字符不换行,我们使用了`print`函数的`end`参数将默认的换行符改为一个空格。 如果想不使用循环语句来实现字符串的反向输出,我们还可以使用切片操作来完成。具体地,我们可以使用切片操作`[::-1]`来截取整个字符串并将其反向输出。 综上所述,无论是使用循环语句或者切片操作,都可以很方便地实现字符串反向输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Starbright.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值