输入一组字符和一个目标字符,编写程序找出目标字符第一次出现和最后一次出现的位置并输出。初始位置从0开始。如果目标字符不在输入的字符中,则输出-1。例如,输入sdflsadjfl&&&wr12sdfasaa和目标字符s,输出0 21
void judge(char *s,char target)
{
int flag = 0;
for(int i = 0; i < (sizeof(s) / sizeof(s[0])); ++i)
if(s[i] == target)
{
printf("%d ",i);
flag = 1;
break;
}
for(int i = sizeof(s) / sizeof(s[0]) - 1; i >= 0; --i)
if(s[i] == target)
{
printf("%d",i);
flag = 1;
break;
}
if(!flag)
printf("-1");
}
#include "stdio.h"
void main()
{
char str[100];
char ch;
int i=0,start=-1,end = -1;
gets(str);
scanf("%c",&ch);
while(str[i]!='\0'){
if(str[i]== ch){
if(start == -1){
start = i;
}
end = i;
}
i++;
}
printf("第一次出现位置是:%d,最后一次位置:%d",start,end);
}
#include<stdio.h>
int main()
{
char a[20]="12345678901234567890";
char b='9';
int sta=0,end=19;
for(; sta<20; sta++)
if(a[sta]==b)
break;
for(; end>sta; end--)
if(a[end]==b)
break;
printf("开始于%d,结束于%d。",sta+1,end+1);
return 0;
}
试试我这个。