编写一函数strend(s, t),如果字符串t出现在字符串s的尾部,该函数返回1,否则返回0。要求在main函数中测试该函数:先从键盘输入字符串s、t(不超过100个字符),然后调用该函数,并输出返
时间: 2023-04-26 19:04:52 浏览: 177
回值。
函数strend(s, t)的实现:
```
int strend(char *s, char *t) {
int len_s = strlen(s);
int len_t = strlen(t);
if (len_t > len_s) {
return ;
}
return strcmp(s + len_s - len_t, t) == ;
}
```
在main函数中测试该函数:
```
int main() {
char s[101], t[101];
printf("请输入字符串s:");
scanf("%s", s);
printf("请输入字符串t:");
scanf("%s", t);
if (strend(s, t)) {
printf("字符串t出现在字符串s的尾部\n");
} else {
printf("字符串t未出现在字符串s的尾部\n");
}
return ;
}
```
相关问题
java编写一函数strend(s, t),如果字符串t出现在字符串s的尾部,该函数返回1,否则返回0
下面是Java语言实现的代码:
```
public static int strend(String s, String t) {
if (s.endsWith(t)) {
return 1;
} else {
return 0;
}
}
```
该函数使用Java字符串类的`endsWith()`方法来判断字符串`t`是否出现在字符串`s`的尾部。如果是,则返回1,否则返回0。
用java编写一函数strend(s, t),如果字符串t出现在字符串s的尾部,该函数返回1,否则返回0。要求在main函数中测试该函数:先从键盘输入字符串s、t(不超过100个字符),然后调用该函数,并输出返回的结果。
好的,这是Java中实现该函数的代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符串s:");
String s = scanner.nextLine();
System.out.print("请输入字符串t:");
String t = scanner.nextLine();
int result = strend(s, t);
if (result == 1) {
System.out.println("字符串t出现在字符串s的尾部");
} else {
System.out.println("字符串t未出现在字符串s的尾部");
}
}
public static int strend(String s, String t) {
int sLen = s.length();
int tLen = t.length();
if (sLen < tLen) {
return 0;
}
String endStr = s.substring(sLen - tLen);
if (endStr.equals(t)) {
return 1;
} else {
return 0;
}
}
}
```
在该程序中,我们通过 `Scanner` 类从键盘获取输入的字符串 `s` 和 `t`,然后调用 `strend()` 函数进行判断,并输出结果。函数 `strend()` 首先计算字符串 `s` 和 `t` 的长度,如果 `s` 的长度小于 `t` 的长度,那么 `t` 不可能是 `s` 的子串,直接返回0。接着,我们通过 `substring()` 方法截取字符串 `s` 的尾部与 `t` 相同长度的子串,然后判断该子串是否与 `t` 相等,如果相等,说明 `t` 出现在 `s` 的尾部,返回1,否则返回0。
阅读全文