请教这个小程序是怎么运行的,尤其是while (a[i]=b[j]) j++; c[j]++;谢谢。

请教这个小程序是怎么运行的,尤其是while (a[i]=b[j]) j++; c[j]++;谢谢。,第1张

for (int i=0i<10i++)//i 从0 到 9 取值进入for循环

{ int j=0

while (a[i]=b[j]) j++

c[j]++

}

第一次进入for循环,i = 0

while (a[i]=b[j]) j++// a[0] = 76 与 b[j] 中的数做比较,当遇到第一个a[0] <b[j] 时,跳出循环,否则j++ 指向下一个b[j],如上,即b[2] = 90 时,跳出循环,此时执行下一行代码

c[j]++

即c[2] ++ // c[2]初值为0 ,也就是说此时c[2] = 1 。

整个程序执行下来就是找出a[i]中小于b[0]的个数,存放到c[0]中。找出b[0]---b[1]之间的个数,存放到c[1]中,依次类推。。。。

for(i=0i<4i++)

cout<<c[i]<<' ' //这个没啥说的,就是打印输出 c数组的数据。

#include <iostream>

using namespace std

int _tmain(int argc, _TCHAR* argv[])

{

int a

cout<<"请输入数字"<<endl

cin>>a

int b=0

while(a)

{

b=a%10+10*b

a=a/10

}

cout<<b<<endl

system("pause")

return 0

}

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

void main(void)

{

int a,b,c,b0=0,b1=0,d8=0,dx=0,d10=0,d2=0

scanf("%d",&a)

c=a

while(c)

{

d8++

c/=8

}

c=a

while(c)

{

dx++

c/=16

}

c=a

while(c)

{

d10++

c/=10

}

c=a

while(c)

{

d2++

c/=2

}

printf("%d:%d %x:%d %o:%d ",a,d10,a,dx,a,d8)

b=0

c=a

while(c)

{

b=b*2+c%2

if(c%2)

b1++

else

b0++

c/=2

}

c=b

a=0

while(b)

{

a++

b/=2

}

while(c)

{

printf("%d",c%2)

c/=2

}

for(b=0b<b1+b0-ab++)

printf("0")

printf(":%d",d2)

printf("\nBinary digitals: 0:%d 1:%d",b0,b1)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11279567.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存