解题思路:
初始化数组,
输入循环,
左右索引的循环,按照索引同时更新数组,
输出的循环。
注意事项:
cin的位置;
索引的初始化(int left);
环状数组的左右索引公式-
左侧:(i-1+n)%n
右侧:(i+1)%n
i是原数组索引,n是数组的长度。
参考代码:
//首先初始化数组:
int p[5];
//输入的循环
//由于数组中的内容也是依次输入循环的,所以cin也要在循环中:
for(int i=0;i<5;i++){
cin>>p[i]; //cin的位置不能省不能变 }
//左右索引的循环:
for(int i=0;i<5;i++){//循环结构
int left=(i+4)%5;//左侧索引 (i-1+n)%n
int right=(i+1)%5;//右侧索引 (i+1)%n
p[i]=p[i]/3;//数组的值更新为原来的1/3
p[left]+=p[i];//左侧的值加上更新的
p[right]+=p[i];右侧的值加上更新的
}
输出的循环:
for(int i=0; i<5; i++){
printf("%5d",p[i]);//补齐五位,记得双引号、数组格式
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复