|
while(n!=0)
{ ++k; n/=10;}
print("The
result is %d\n",k);
}
1、纠正程序中的两个语法错误,将正确的程序存入a1.c,并将程序实现的功能写在下面。
2、编译运行该程序,若输入为“5436”,则输出是什么?将其输出结果写在下面。
二、(40分)完善程序题目
1、用起泡法对10个数进行排序。起泡法的思路是:将相邻两个数比较,将小的调到前头。请填补程序“a2.c”的空缺,改正其中的错误,并编译执行之。将正确的程序存入a2.c。
假设输入以下数列“100
101 -57
7 5 68 72 0 9 80”,程序的输出是什么?
2、用选择法对数组中10个整数按由小到大排序。所谓选择法就是:先将10个数中最小的数与a[0]对换;再将a[1]到a[9]中最小的数与a[1]对换;……,每比较一轮,找出一个未经排序的数中最小的一个。请填补程序“a3.c”的空缺,改正其中的错误,并编译执行之。将正确的程序存入a3.c
假设输入以下数列“100
98 -107
7 5 68 72 0 9 84”,程序的输出是什么?
|
第1题程序a2.c |
第2题程序a3.c |
|
#include "stdio.h"
void
main()
{
int
a[11];
int
i,j,t;
printf("input
10 numbers :\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<=9;j++)
for(i=1;i<=10-j;i++)
if(a[i]>a[i+1])
{t=____________;
a[i]=_____________;
a[i+1]=____________;}
printf("the sorted numbers :\n");
for(i=1;i<11;i++)
printf("%d ",a[i]);
}
|
void
sort(array,n)
int
array[];
int
n;
{
int
i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k]) k=j;
t=___________;
array[k]=___________;
array[i]=________________;
}}
main()
{
int a[10],i;
printf("enter
the array\n");
for
(i=0;i<10;i++) scanf("%d",&a[i]);
sort(a,10);
printf("the
sorted array :\n");
for
(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
} |
三、编写程序(40分)
求解方程x2+5y2=z2(0<x<y<z<20)的所有整数解。将调试正确的程序存入文件“a4.c”。再将所有的解答写
|