C语言写代码:查找一个字符在另一个字符串中首次出现的位置(第一个字符位置为1),要求字符串和字符都从键盘输入,可以分别用gets和getchar函数。。
时间: 2024-05-12 17:17:27 浏览: 12
可以使用以下代码实现:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
char ch;
int i, n;
printf("请输入一个字符串:");
gets(str);
printf("请输入一个字符:");
ch = getchar();
n = strlen(str);
for (i = 0; i < n; i++) {
if (str[i] == ch) {
printf("%c在%s中第一次出现的位置是%d。\n", ch, str, i + 1);
break;
}
}
if (i == n) {
printf("%c在%s中未出现过。\n", ch, str);
}
return 0;
}
```
输入一个字符串和一个字符后,使用strlen函数获取字符串长度,然后使用for循环遍历字符串的每一个字符,判断是否与输入的字符相同,如果相同,则输出字符在字符串中的位置,并使用break语句跳出循环;如果遍历完整个字符串,仍未找到相同字符,则输出字符未出现过的提示。
相关问题
c语言,查找一个字符在另一个字符串中首次出现的位置
你可以使用C语言中的strchr()函数来查找一个字符在另一个字符串中首次出现的位置。例如:
```
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, World!";
char str2[] = "W";
char* result = strchr(str1, str2[0]);
if (result == NULL) {
printf("The character is not found\n");
}
else {
printf("The character is found at position %ld\n", result - str1);
}
return 0;
}
```
运行结果为:
The character is found at position 7
用c语言写代码,要求是:统计一个字符串中每个字符出现的次数并排序
以下是一个用C语言实现的统计字符串中每个字符出现次数并排序的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int count[256] = {0};
int length, i, j, temp;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
length = strlen(str);
for (i = 0; i < length; i++) {
count[(int)str[i]]++;
}
for (i = 0; i < 256; i++) {
for (j = i + 1; j < 256; j++) {
if (count[i] < count[j]) {
temp = count[i];
count[i] = count[j];
count[j] = temp;
}
}
}
printf("字符出现次数从多到少的排序如下:\n");
for (i = 0; i < 256; i++) {
if (count[i] > 0) {
printf("%c 出现次数:%d\n", i, count[i]);
}
}
return 0;
}
```
代码实现的思路是,先定义一个长度为256的数组count,用来存储每个字符出现的次数,数组下标对应字符的ASCII码。然后遍历输入的字符串,统计每个字符出现的次数。最后对count数组进行排序,输出每个字符出现的次数。
值得注意的是,排序部分的实现方式并不是最优的,因为数组长度较小,所以使用了冒泡排序,如果数组长度较大,建议使用更快的排序算法,如快速排序等。