TA的每日心情 | 开心 2014-6-18 08:29 |
---|
签到天数: 14 天 [LV.3]偶尔看看II
滴水大师
 
- 积分
- 2345
|
题目
解决代码及点评
- <pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code">/*
- 功能:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,
- 写一函数实现以上功能,在主函数中输入n个整数和输出调整后的n个数。
-
-
- */
-
- #include<stdio.h>
- #include<stdlib.h>
-
- void moveA(int *,int,int); //按题意设计函数
-
- void main(){
- int a[15];
- for (int i = 0; i < 15; i++)scanf_s("%d",a+i); //输入数组
-
- int m; //m为移动的数
- scanf_s("%d",&m);
-
- moveA(a,m,15);
- for (int i = 0; i < 15; i++)printf("%3d", a); //输出
- system("pause");
- }
-
- void moveA(int *pa, int m,int n){ //m为移动的数,n为数组的大小
- int a[20] = {0}; //a用来储存pa后5个元素
-
- for (int i = 0,*p=pa+n-1; i < m; p--,i++) //将pa的后5个元素存入a中
- a = *p;
-
- for (int *p = pa + n - 1; p >= pa + m; p--) //将n-m个元素一起向后移动m个位置
- *p = *(p - m);
- for (int i = 0, *p = a + m - 1; i < m; p--, i++)pa =*p ;//将a中的m个元素存入pa的前m中 完成转换
- }</pre><br><br></pre></pre>
|
|