第 1 頁(yè):填空題 |
第 2 頁(yè):改錯(cuò)題 |
第 3 頁(yè):編程題 |
編程題
請(qǐng)編寫函數(shù)FUN,該函數(shù)的功能是:移動(dòng)一維數(shù)組中的內(nèi)容;若數(shù)組中有N個(gè)整數(shù),要求把下標(biāo)從0到P(P小于等于N-1)的數(shù)組元素平移到數(shù)組的最后。
例如,一維數(shù)組中的原始內(nèi)容為:1,2,3,4,5,6,7,8,9,10;P的值為3。移動(dòng)后,一維數(shù)組中的內(nèi)容應(yīng)為:5,6,7,8,9,10,1,2,3,4。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:#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++;
}
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |