C 언어 배열 요소 순환 오른쪽 이동 문제 및 해결 방법
C 언어 는 광범 위 하 게 사용 되 는 컴퓨터 언어 로 자바 프로 그래 밍 언어 와 마찬가지 로 보급 되 고 이들 은 현대 소프트웨어 프로그래머 들 사이 에서 광범 위 하 게 사용 된다.
제목 내용:
문제 풀이 의 사고 방향.
방법 1:
이것 은 제 가 스스로 모색 한 방법 입 니 다.배열 에 대한 여러 번 의 역 치 를 통 해 순환 효 과 를 얻 었 습 니 다.모두 배열 에 대해 세 번 의 역 치 를 했 기 때문에 하나의 함 수 를 구성 해 야 합 니 다.
이 함 수 는 하나의 배열 을 역 설정 할 수도 있 고 배열 의 일부 구간 을 역 설정 할 수도 있다.
1.먼저 전체 배열[0,N)을 한 번 역 설정 합 니 다.
2.배열 의 앞부분 구간[0,M)을 역 치 한다.
3.배열 의 뒷부분 구간[M,N)을 역 치 한다.
N=2,M=2 를 가정 하면 구체 적 인 배열 은 nums[6]={1,2,3,4,5,6}이다.역 치 과정 은 다음 그림 과 같다.
코드 는 다음 과 같 습 니 다:
#include<stdio.h>
void printArray(int nums[],int len);
void reverseArrayPro(int nums[],int begin,int end);
int main()
{
int len,move;
int i = 0;
scanf("%d%d",&len,&move);
int nums[len];
for(i = 0;i < len;i++){
scanf("%d",&nums[i]);
}
move = move%len;
reverseArrayPro(nums,0,len);
reverseArrayPro(nums,0,move);
reverseArrayPro(nums,move,len);
printArray(nums,len);
return 0;
}
//
void printArray(int nums[],int len){
int i=0;
for(i = 0; i < len; i++){
if(i==len-1)
printf("%d",nums[i]);
else
printf("%d ",nums[i]);
}
}
//
void reverseArrayPro(int nums[],int begin,int end){
int i=0;
int j=1;
for(i=begin;i<(end-begin)/2+begin;i++){
int temp = nums[i];
nums[i]=nums[end-j];
nums[end-j]=temp;
j++;
}
}
방법 2:
이것 은 내 가 인터넷 에서 본 방법 이다.이런 방법 은 나의 방법 과 나의 방법 보다 훨씬 간단 하 다.실제로 그것 은 배열 의 요 소 를 이동 하지 않 고 배열 의 요 소 를 간단하게 바 꾸 었 을 뿐이다.
순서대로 배열 의 N-M~N-1 번 요 소 를 옮 겨 다 니 고 0~N-M-1 번 요 소 를 옮 겨 다 닙 니 다.
코드 는 다음 과 같 습 니 다:
#include<stdio.h>
int main()
{
int len,move;
int i = 0;
scanf("%d%d",&len,&move);
int nums[len];
for(i = 0;i < len;i++){
scanf("%d",&nums[i]);
}
move = move%len;
for(i = len-move;i<len;i++){
printf("%d ",nums[i]);
}
for(i = 0;i<len-move;i++){
if(i==len-move-1)
printf("%d",nums[i]);
else
printf("%d ",nums[i]);
}
return 0;
}
총결산
C 언어 배열 요소 의 순환 오른쪽 이동 문제 와 해결 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 C 언어 배열 요소 의 순환 오른쪽 이동 문제 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 저희 에 게 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.