CCF201809-1: 채소 판매(C언어) 100점 답
10600 단어 심로 역정.
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]을 가리키게 할 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
CCF201812-1:샤오밍등교(C언어) 100점 답안제목: 제목 배경 신호등마다 빨간색, 노란색, 녹색 세 개의 등과 카운트다운을 표시할 수 있는 표시판이 있다.신호등이 빨간불 r초, 노란불 y초, 파란불 g초로 설정되면 0시부터 [0,r)초 동안 빨간불이 켜져 차량...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.