//练习7-10
//输入字符一个以回车符结束的字符串,在输入一个字符,在字符串中查找该字符
#include<stdio.h>
int main()
{
int i,k;
char a[80];
char ch;
printf("Enter a string: ");
i=0;
while((a[i]=getchar()) !='\n') //以回车符结束
i++;
a[i]='\n';
printf("Enter a ch: ");
ch=getchar();
k=0;
for(i=0; a[i]!='\n'; i++)
{
if(a[i]==ch)
printf("%d\n",i);
else
printf("not found\n");
}
return 0;
}
Enter a string: sgdsy34
Enter a ch: s
0
not found
not found
3
not found
not found
not found
没有直观得出最想要的结果
//代码改进
#include<stdio.h>
int main()
{
int i,k,flag;
char a[80];
char ch;
printf("Enter a string: ");
i=0;
while((a[i]=getchar()) !='\n') //以回车符结束
i++;
a[i]='\n';
printf("Enter a ch: ");
ch=getchar();
k=i-1;
flag=0;
while(k>=0&&a[k]!=ch)
{
k--;
}
if(a[k]==ch)
printf("%d\n",k);
else
printf("not found\n");
return 0;
}
Enter a string: dhsdv3445
Enter a ch: d
3
//练习7-11
//字符串逆序存储输出
#include<stdio.h>
int main()
{
int i,j,k,flag,n;
char a[80],b[80];
char ch;
char count;
printf("Enter a string: ");
i=0;
while((a[i]=getchar()) !='\n') //以回车符结束
i++;
a[i]='\n';
k=0;
for(i=i-1;i>=0 ; i--)
{
b[k]=a[i]; //字符串逆序存储
k++;
}
b[k]='\0';
for( k=0; b[k] !='\0'; k++ )
putchar( b[k] );
putchar('\n');
return 0;
}
Enter a string: hdjbvj
jvbjdh