变成:
5,3,9,4,2,8,1,6
程序中,最大数与最小数的互换操作通过函数调用来实现,让指针max和min分别指向最大数和最小数。程序有二处错误,请改正。注意:不得增行和删行,也不得修改程序的结构。
main() { int i;
static int a[8]={5,3,1,4,2,8,9,6}; void jhmaxmin();
printf(\ for(i=0; i<8; i++) printf(\ printf(\ jhmaxmin(a,8);
printf(\
for(i=0; i<8; i++) printf(\ printf(\ }
void jhmaxmin(p,n) int *p, n; {
int t, *max, *min, *end, *q; end=p+n; max=min=p;
for(q=p+1; q
t=*max; *max=*min; *min=t; }
1.程序填空题
tk57.c用来输出两整数M和N之间的所有素数(质数)。所谓一个整数n为素数,是指n除了能被1和其本身n除尽
外,不能被2到n-1中的任何整数除尽。如7为素数,而9不是素数。
程序中,外循环变量i用于控制整数选择范围,内循环变量j用于判断某整数i是否为素数,若是,
则输出该素数,且通过变量s来控制每行输出5个素数。 #define M 4 #define N 30 main() {
int i, j, k, s=0;
for(i=M; i<= N ; i++)// { for(j=2; j< i ; j++)// if(i%j== 0 ) break; if(j>=i)
{ printf(\ s=s+1;
if(s%5==0 ) printf(\ } }
printf(\ }
程序改错题:
gc101.c的功能为:输入8个整数,使用指针以选择法对其进行排序(从小到大).程序中有三处错误代码,请改正.注意,不得改变程序结构。
#include
int a[8],*p=a; int i,j;
int tempmin,tempcode;
printf(\ for (i=0;i<8;i++) scanf(\ tempmin=*p; for (i=0;i<7;i++) {
for (j=i;j<8;j++)
if (j==i||*(p+j) if (tempcode!=i) { *(p+tempcode)=*(p+i); *(p+i)=tempmin; }