CCF201809-1: 채소 판매(C언어) 100점 답

10600 단어 심로 역정.
CCF201809-1: 채소 판매(C언어)
100점 정답.
제목.
제목 배경
한 거리에 n개의 채소를 파는 상점이 있는데, 1~n의 순서대로 줄을 서서, 이 상점들은 모두 채소 한 종류를 판다.첫날, 상점마다 각자 가격을 정했다.가게 주인들은 자신의 요리 가격이 다른 상점과 일치하기를 원하고, 다음날 모든 상점은 자신과 이웃 상점의 가격에 따라 자신의 가격을 조정한다.구체적으로 상점마다 다음날의 요리 가격을 자신과 이웃 상점의 첫날 요리 가격의 평균치(탈미법으로 정돈)로 설정한다.주의, 번호 1의 상점은 인접한 상점 2개, 번호 n의 상점은 인접한 상점 n-1개, 기타 번호 i의 상점은 인접한 상점 i-1과 i+1이 두 개 있습니다.첫날 각 상점의 요리 가격을 정하고, 다음날 각 상점의 요리 가격을 계산하세요.
입력 형식
입력한 첫 번째 행에는 상점의 수를 나타내는 정수 n이 포함되어 있습니다.두 번째 줄은 n개의 정수를 포함하고 각 상점의 첫날 요리 가격을 순서대로 표시한다.
출력 형식
한 줄을 출력하고 n개의 정수를 포함하여 각 상점의 다음날 요리 가격을 순서대로 표시한다.
샘플 입력
8 4 1 3 1 6 5 17 9
샘플 출력
2 2 1 3 4 9 10 13
데이터 크기 및 규약
모든 평가 용례에 대해 2≤n≤1000, 첫날 매 상점의 요리 가격은 10000을 넘지 않는 정수이다.
사고의 방향
2개의 그룹을 설정합니다. 전날의 메뉴 가격:cost1[MAX], 오늘의cost2[MAX]는 제목에 따라cost1의 그룹 데이터에 따라cost2의 그룹 데이터를 계산하고 마지막으로cost2의 그룹을 출력합니다.
코드
/*ADT    {
	    :	     n
				      cost1[i] 
				      cost2[i] 
	    :   cost2[i] = cost1[i-1] + cost1[i] + cost1[i+1]/3
	    :  1.     
	            2.      
				3.       
				4.     
} 
*/ 


#include 
#include 

int main(int argc, char *argv[]) {
	int cost1[1000];
	int cost2[1000];
	int n = 0;
	scanf("%d",&n);
	int i = 0;
	for(i=0;i<n;i++){
		scanf("%d",&(cost1[i]));
	}
	i = 0;
	while(i<n){
		if(i==0){
			cost2[i] = (cost1[i]+cost1[i+1])/2;
		}else if(i==n-1){
			cost2[i] = (cost1[i]+cost1[i-1])/2;
		}else{
			cost2[i] = (cost1[i+1]+cost1[i]+cost1[i-1])/3;
		}
		i++;
	}
	for(i=0;i<n;i++){
		printf("%d\t",cost2[i]);
	}
	return 0;
}

평가 결과:
제출 시간: 02-18 22:50(2019년) 코드 길이: 467B 프로그래밍 언어: C 평가 결과: 정확한 점수: 100시간 사용: 31ms 공간 사용: 412.0KB
체험

  • scanf("%d",&(cost1[i]));
    

    cost1[]수 그룹에 대해cost1은 지침이고 [i]를 추가하면cost1[i]이 더 이상 지침이 아니기 때문에 주소 찾기 기호 & 주소를 다시 찾습니다. 즉, &(cost1[i])
    또한 다음과 같은 이점이 있습니다.
    int *p = &(cost1[i]);
    scanf("%d",p);
    

    또한 다음을 수행할 수 있습니다.
    int *p = cost1;
    int j = 0;
    for(j=0;j<=i;j++){
    	p++;
    }
    scanf("%d",p);
    

    이상에서 p가cost1[i]을 가리키게 할 수 있습니다.
  • 입력할 때 빈칸을 만나면 scanf는 자동으로 빈칸으로 끝납니다. 빈칸의 다음 입력 값은 다음scanf가 입력한 값입니다. 즉, 입력할 때: 4 1 3 1 6 5 17 9는 4 1 3 6 5 17 9와 같습니다.
  • 좋은 웹페이지 즐겨찾기