c语言 给定5个字符串,输出其中最大的字符串
时间: 2023-08-18 18:09:57 浏览: 180
可以使用strcmp函数来比较字符串大小,具体代码如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[5][50];
int i, max = 0;
printf("请输入5个字符串:\n");
for (i = 0; i < 5; i++)
{
gets(str[i]);
if (strlen(str[i]) > strlen(str[max]))
max = i;
}
printf("最大的字符串是:%s", str[max]);
return 0;
}
```
在这个程序中,我们定义了一个二维字符数组`str`,用于存储5个字符串。然后通过循环输入5个字符串,并使用`strlen`函数获取每个字符串的长度,与当前最大字符串的长度进行比较,如果更长则更新最大字符串的下标。最后输出最大的字符串。
相关问题
c语言 给定一串字符串,输出非数字字符的数目
在C语言中,如果你想要给定一个字符串并计算其中非数字字符的数量,你可以使用循环遍历字符串,并结合`isdigit()`函数来检查每个字符是否为数字。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 包含isdigit()函数
int count_non_digits(char str[]) {
int count = 0;
for (int i = 0; str[i] != '\0'; i++) { // 遍历直到字符串结束
if (!isdigit(str[i])) { // 如果字符不是数字
count++; // 增加计数器
}
}
return count;
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 读取用户输入,包括换行符
input[strcspn(input, "\n")] = '\0'; // 移除末尾的换行符
int non_digit_count = count_non_digits(input);
printf("非数字字符的数量: %d\n", non_digit_count);
return 0;
}
```
在这个程序中,`count_non_digits` 函数接收一个字符串作为参数,然后逐个检查字符,如果不是数字则计数器加一。`main` 函数部分则获取用户的输入,调用这个函数并打印结果。
C语言给定一个字符串s 判断s中是否含有acm这个字符串 输入 给定一个字符串s 长度小于100 输出 若有acm这个子串,则输出“yes”,否则输出“no”
可以使用C语言中的strstr函数来判断字符串s中是否含有acm这个子串,代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[100];
scanf("%s", s);
if (strstr(s, "acm") != NULL) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
```
这段代码中,我们首先定义了一个字符数组s,用于存储输入的字符串。然后使用scanf函数从标准输入中读取字符串s。接着使用strstr函数来查找字符串s中是否含有acm这个子串,如果找到了,则返回该子串在s中的指针,否则返回NULL。最后根据返回值判断是否含有acm子串,并输出相应的结果。
阅读全文