min=a[i];
n++;}
}
printf("m=%d,n=%d\n,max=%d,min=%d\n",m,n,max,min);}
4、hsb211写出下列程序的结果:
main( )
{
int i;
int a[4][4]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}}; for(i=0;i<4;i++)
printf(“%3d”,a[i][i]);
printf(“\n”);
for(i=0;i<4;i++)
printf(“%3d”,a[i][3-i]);
printf(“\n”);
}
5、hsb212写出下列程序的结果:
main()
{int i,j;
for(i=1;i<=9;i++)
{printf("\n");
for(j=1;j<=i;j++)
printf("%d*%d=%d ",i,j,i*j);
}
}
6、hsb213写出下列程序的结果:
int gcd(int,int);
main()
{
int a,b,re;
printf("\nplease enter 2 int:\n");
scanf("%d%d",&a,&b);
re=gcd(a,b);
printf("\n%d & %d is:%d\n",a,b,re);
}
int gcd(u,v)
int u,v;
{
int p;
while(v!=0)
{
p=u%v;
u=v;
v=p;
}
return(u);
}
二、程序填空题(共48分,4分/空)
1、hsb214下列程序是将十进正整数转换成2至16进制数。
main( )
{int i,j,x,r;
int data[50]={0};
do
{
printf("\n请输入一个十进正整数X:");
scanf("%d",&x);
}
while(x<0);
do
{
printf("\n请输入转换的进制整数r:");
scanf("%d",&r);
}
while(r<2 r>16);
i=0;
while(x/r 0)
{
data[i]=x%r;
x=x/r;
i=i+1;
}
data[i]= ;
printf("\n将%d转换成%d进制数的:",x,r);
for(j=i;j>=0; )
if(data[j] 10)
printf("%c",48+data[j]);
else
printf("%c", );
}
2、hsb215找出1000以内的水仙花数,水仙花数就是各位数字的立方和等于其本身如153=13+53+33,
#include "math.h"
main( )
{int i,a,b,c;
i=100;
while( )
{a=i/100;
b=(i-a*100)/10;
c= ;
if(i==pow(a,3)+pow(b,3)+pow(c,3))
printf("\n%d\n",i);
;
}
}
3、hsb216 输入一个整数,并在数组中查找这个数。如果找到了这个数,就将对应元素的值改为它的相反数。 */
#include "stdio.h"
main()
{ int i,x,a[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i++)
printf("%8d",a[i]);
printf("\n");
scanf("%d",&x);
for( )
if(a[i] )
;
for(i=0;i<9;i++)
printf("%8d",a[i]);
}
三、程序改错题(共9分)
1、hsb217下列程序是从数组S中查找一个从键盘输入的数,并显示相关的信息,请指出错误并更正。
#include "stdio.h"
main( )
{
int s[10]={0,2,4,6,8,10,12,14,16,18};
int i,x,find=0;
printf("请输入要找的数:");
scanf("%d", &x);
for(i=1;i<10;i++)
if(x!=s[i])
{
find=1;
break;
}
if(!find)
printf("%d在s[%d]中\n",x,i);
else