printf(\ printf(\ printf(\ printf(\ }
程序填空题
tk154.c中有整形数组a[ ]。通过调用子程序inv(),对a[ ]数组中的元素,反向交换存储位置。请在括号[ ]处补充完整程序,并删除[ ],运行测试,实现上述要求。不得增加行或删除行,也不得更改程序结构。
void inv(int x[],int n) {
int temp,i,j,m=(n-1)/2;// for(i=0;i<=m;i++) {j=n-i-1; temp=x[i]; x[i]=x[j];//
x[j]=temp;// }
return; } main() {
int a[10]={4,5,6,7,8,9,10,11,12,88}; int i;
printf(\ for(i=0;i<10;i++) printf(\ printf(\ inv(a,10);
printf(\ for(i=0;i<10;i++) printf(\
printf(\ }
1.程序填空题
tk155.c的功能是:假设a数组中的数据巳按由小到大的顺序存放,以下程序可把a数组中相同的数据删得只剩一个,然后以每行4个数据的格式输出a数组。请填空。
# define M 10 main()
{int a[M],i,j,n; for(i=0;i
{ if(*(a+i)==*(a+i-1)) {for(j=i;j<=n;j++)// *(a+j-1)=*(a+j);//
n--;// } i--;}
for(i=1;i<=n+1;i++)
{printf(\ if(i%4==0) printf(\ printf(\ }
程序改错
gc163.c的功能是实现求1000以内的自然数中的完数及其个数(所谓完数,指它恰好等于除它本身之外的因子之和,如:6=1+2+3,28=1+2+4+7+14),并显示结果。但该程序中有3处错误,请调试并改正。不允许改变程序结构和增删语句。
#include
{
int i,k,m,n,s,p=0; int a[100];
printf(\以内的自然数中的完数有:\ for (i=2;i<=10000;i++) { s=0; m=0;
for (k=1;k<=i/2;k++) { if (i%k==0) { s=s+k; a[m]=k; m=m+1; } }
if (s==i) { p=p+1;