printf(\ }
4、 编写程序,输入任意10进制4位正整数,将其化成二进制数。 程序1:
main( )
{int j,k=0,a[16]={0},s;
scanf(“%d”,&s); /* 输入待转化的10进制4位正整数s */ while(s>0) /* 按”除二取余”得到各位二进制数a[k]*/ { a[k]=s%2; k++; s=s/2; }
for(j=15;j>=0;j--)/* 按倒排方式输出二进制数的各位数字 */ printf(“-”,a[j]); }
程序2:
/*P196_4.c*/ main()
{int n,i;char a[16]; long k=1;
printf(\ scanf(\
while(n>k) /*求大于n且最接近n的二进制权值*/ k=k*2; k=k/2;
for(i=0;k>0;i++) /*用除权法将n转换未二进制*/ {a[i]=n/k+'0'; n=n%k; k=k/2; }
a[i]='\\0';
printf(\ } 5、 编写程序, 产生30个50以内的随机整数到5行6列数组中,输出那些在行和列上均为
最小的元素。 main( ) /*解1*/
{ int i,j,p,q,a[5][6],f;
for(i=0;i<5;i++) /* 产生a数组并输出 */ {for(j=0;j<6;j++)
{a[i][j]=rand()P;
printf(“]”,a[i][j]);} printf(“\\n”);}
f=0; /* 标志量,f=0:未找到目标,f=1:找到目标 */ for(i=0;i<5;i++)
{p=0; /* p记录i行最小值列下标 */
for(j=1;j<6;j++) /* 找i行最小值a[i][p] */
if(a[i][j] q=0; for(j=1;j<5;j++) /* 找p列最小值a[q][p] */ if(a[j][p] if(q==i) /* a[q][p]是i行最小元素,也是p列最小元素 */ {f=1; printf(“min=a[%d][%d]=%d\\n”,q,p,a[q][p]);} } } #include \解2 */ main() {int a[6][6],i,j,m,n; for(i=0;i<5;i++) {for(j=0;j<6;j++) {a[i][j]=random(50); printf(\ } printf(\ } for(i=0;i<5;i++) {m=0;n=0; for(j=1;j<6;j++) if(a[i][j] {if(j==i)continue;
相关推荐: