试题编号: | 201809-1 |
试题名称: | 卖菜 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 输入格式 输入的第一行包含一个整数n,表示商店的数量。 输出格式 输出一行,包含n个正整数,依次表示每个商店第二天的菜价。 样例输入 8 样例输出 2 2 1 3 4 9 10 13 数据规模和约定 对于所有评测用例,2 ≤ n ≤ 1000,第一天每个商店的菜价为不超过10000的正整数。 |
方法二:不使用数组,只是用三个整型变量
按照题目的格式输入这样写完全是100分通过
需要注意的是计算一个元素输出值时,最后两个输入已经赋值给了first和secod变量
# include<stdio.h>
int main()
{
int n,first,second,third;
scanf("%d",&n);
scanf("%d",&first);
scanf("%d",&second);
printf("%d ",(first+second)/2);
for(int i = 3;i <= n;++i)
{
scanf("%d",&third);
printf("%d ",(first+second+third)/3);
first = second;
second = third;
}
printf("%d\n",(first+second)/2);
return 0;
}
方法一:完全是送分题,建一个数组就可以解决
//C语言版
# include<stdio.h>
# define N 1010
int Price[N];
int main()
{
int n;
scanf("%d",&n);
for(int i = 1;i <= n;++i)
{
scanf("%d",&Price[i]);
}
for(int i = 1;i <= n;++i)
{
if(i == 1)
printf("%d",(Price[1] + Price[2])/2);
else if(i == n)
printf(" %d\n",(Price[n-1] + Price[n])/2);
else
printf(" %d",(Price[i-1] + Price[i+1] + Price[i])/3);
}
return 0;
}