여러 문자열을 입력하여 알파벳순으로 정렬한 후 출력하고, 찾을 문자열을 입력하여 정렬한 후의 위치를 출력합니다

1637 단어

이것은 내 동창이 방금 나에게 물어본 제목이다.


제목은 여러 문자열을 입력하고 알파벳순으로 정렬한 후 출력하고 찾으려는 문자열을 입력하여 정렬된 위치를 출력하는 것이다.


우선 문자열 입력을 중단할지 여부를 판단하는 코드를 추가해야 할지 생각해 봤습니다.결국 생각해 보았지만 추가하지 않았다.동시에 나는 스카프 함수의 진면목을 다시 한 번 똑똑히 보았다.fgets가 매우 표준적인 것을 발견하였는데, 어쩐지scanf 함수//땀 하나를


나는 단지 10개의 확실한 문자열만 설정했다
코드는 다음과 같습니다.
//        ,          ,         ,         。

#include 
#include  
void swap(char a[][100]) 
{
	int i, j; 
	char temp[100];//      
	//     
	for(i = 0; i < 9; i++)
		for(j = i+1; j < 10; j++)
			if(strcmp(a[i], a[j]) == 1)
			{
				strcpy(temp, a[i]); 
				strcpy(a[i], a[j]);
				strcpy(a[j], temp);
			}  
} 


int main()
{
	char a[10][100];
	int i,k;
	char s[100]; 
	for(i = 0; i < 10; i++)
	{
		printf("The string %d : ", i+1);
		fgets(a[i], 100, stdin);//       
	}
	swap(a); //void         
	for(i = 0; i < 10; i++)
		printf("the No.%d string is:
%s
",i+1, a[i]); // printf("Please input the string what you want to find:
"); fgets(s, 100, stdin); // for(i = 0; i < 9; i++) { if (strcmp( s , a[i] )==0) printf("The string is NO.%d
",i+1); } return 0; }

그리고 질문이 하나 있습니다: 하지만 제 마지막 부분//문자열이 있는 위치를 구합니다. 그 함수 이전의 입력 s는 문자 수조입니다. 제가 사용한 것은
scanf 문장;그리고 통과할 수 있지만 아래의if문장을 실행할 수 없습니다.마지막으로 fgets 함수를 다시 써서야 해결되었다.
that`s all. Thank you.

좋은 웹페이지 즐겨찾기