|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
【问题描述】教材P214:第8章课后习题题三(3)-数组元素循环移位问题(左移)。
【输入形式】输入移位的个数。
【输出形式】输出循环移位前和后,数组元素的值。
【样例输入】
【样例输出】
【样例说明】完成函数的编写和调用
【评分标准】补充下面代码
#include "stdio.h"
#define N 10
void cycle(int *p,int n,int count)
{
}
int main()
{ int i,n,a[N]={1,2,3,4,5,6,7,8,9,10};
scanf("%d",&n);
printf("Before:\n");
for(i=0;i<N;i++)
printf("%4d",a[i]);
printf("\nAfter:\n");
for(i=0;i<N;i++)
printf("%4d",a);
printf("\n");
return 0;
}[/i]
忘了C90没有VLA
- #include "stdio.h"
- #define N 10
- void cycle(int *p,int n,int count)
- {
- count %= n;
- int k = count, pos = 0;
- int nk[N] = {};
- for (pos = 0; pos < n; ++pos) {
- nk[pos] = p[k];
- ++k;
- k %= n;
- }
- int i;
- for (i = 0; i < n; ++i)
- p[i] = nk[i];
-
- }
- int main()
- { int i,n,a[N]={1,2,3,4,5,6,7,8,9,10};
- scanf("%d",&n);
- printf("Before:\n");
- for(i=0;i<N;i++)
- printf("%4d",a[i]);
- cycle(a, N, n);
- printf("\nAfter:\n");
- for(i=0;i<N;i++)
- printf("%4d",a[i]);
- printf("\n");
- return 0;
- }
复制代码
|
|