本题要求编写程序,从给定字符串中查找某指定的字符。
输入格式:
输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。
输出格式:
如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。
输入样例1:
m
programming
结尾无空行
输出样例1:
index = 7
结尾无空行
输入样例2:
a
1234
输出样例2:
Not Found
#include<stdio.h>
int main() {
char a[81];
int i = 0, k=0, flag = 0, index;
char ch;
scanf("%c\n", &ch);
while ((a[k] = getchar()) != '\n') {
k++;
}
//题目要求输出最大下标,此程序后面的值直接会覆盖前面的值,从而直接输出最大下标
for (i = 0; i < k; i++) {
if (a[i] == ch) {
index = i;
flag = 1;
}
}
if (flag == 0) {
printf("Not Found");
}
if (flag == 1) {
printf("index = %d", index);
}
return 0;
}
#include<stdio.h>
int main() {
char a[81];
int i = 0, k=0, flag = 0, index;
char ch;
scanf("%c\n", &ch);
while ((a[k] = getchar()) != '\n') {
k++;
}
//这是我一开始的思路,但其实没必要,复杂化了;
for (i = 0; i < k; i++) {
if (a[i] == ch) {
index = i;
int j;
j = i++;
if (a[i] ==a[j]) {
index = i;
}
flag = 1;
}
}
if (flag == 0) {
printf("Not Found");
}
if (flag == 1) {
printf("index = %d", index);
}
return 0;
}
但这两个程序在pta测试话有点问题,但答案是正确的。