第 1 页:填空题 |
第 2 页:改错题 |
第 3 页:编程题 |
编程题
请编写函数FUN,该函数的功能是:移动一维数组中的内容;若数组中有N个整数,要求把下标从0到P(P小于等于N-1)的数组元素平移到数组的最后。
例如,一维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10;P的值为3。移动后,一维数组中的内容应为:5,6,7,8,9,10,1,2,3,4。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:#include
#define N 80
void fun(int *w, int p, int n)
{
} http://ks.exam8.com
main()
{
int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int i,p,n=15;
FILE *out;
int test[N] = {1,1,2,3,5,8,13,21,34,55,89,144};
printf("The original data:\n");
for(i=0; i printf("%3d",a[i]); printf("\n\nEnter p: "); scanf("%d",&p); fun(a,p,n); printf("\nThe data after moving :\n"); for(i=0; i printf("%3d",a[i]); printf("\n\n"); out=fopen("out.dat", "w"); fun(test,6,12); for(i=0;i<12;i++) fprintf(out, "%d\n", test[i]); fclose(out); } 答案是: void fun(int *w,int p,int n) { int b[N],I,j=0; for(i=0;i<=p;i++) b[i]=w[i]; for(i=p+1;i { w[j]=w[i]; j++; } for(i=0;i<=p;i++) { w[j]=b[i]; j++; } }
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |