2){n/=2;i++;}printf("log2of%dis%d",t,i);}" />
翁恺 4.4 循环的例子 |
您所在的位置:网站首页 › while循环怎么算 › 翁恺 4.4 循环的例子 |
例1 如何算一个数log2之后的结果 #include int main() { int n,t; int i=1; scanf("%d",&n); t=n; while(n>2){ n/=2; i++; } printf("log2 of %d is %d",t,i); }上面的i 和while()里的可以改变吗? 自己试试几次不同的数值 例如 i=1 i=0 i=-1 1】这里是近似值,循环计数除于2的次数 2】t=n 小技巧 留着后面输出 计数循环 相关参数 =0/=1? >1/>=1? 循环了几次 循环最后的值 都要格外注意 模拟运行行可以模拟比较小的次数 例 2 #include int main() { int count=100; while(count>=0){ count--; printf("%d\n",count); } printf("发射!\n"); }1这个循环需要执行多少次? 2循环停下来的时候,有没有输出最后的0? 3循环结束后,count的值是多少? 101 0 -1 如果循环体两句反过来 结果会有变化吗?循环最后输出的那个数是多少? #include int main() { int count=100; while(count>=0){ printf("%d\n",count); count--; } printf("发射!\n"); }-1 0 所以正确的发射倒计时程序应该是第二个。 例3 算平均数 让用户输入一系列的正整数,最后输入-1表示输入结束,然后程序计算这些数字的平均数,输出输入数字的个数和平均数 #include int main() { int n,sum; int count=0; scanf("%d",&n); while(n!=-1){ count++; sum+=n; scanf("%d",&n); } printf("%d个数的平均数是%f",count,1.0*sum/count); return 0; }例3 补 7-25 求奇数和分数 15 输入格式: 输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。 输出格式:在一行中输出正整数序列中奇数的和。 输入样例: 8 7 4 3 70 5 6 101 -1 输出样例: 116 #include int main() { int i, a; i=0; scanf("%d",&a); while(a>0) { if(a%2==1) { i=i+a; } scanf("%d",&a); } printf("%d",i); return 0; }例4 让计算机想一个数,然后让用户来猜,用户每输入一个数,就告诉他是大了还是小了,知道用户猜中为止,最后还要告诉用户他猜了多少次。 问题变成程序 分析 重复猜 要用循环 while 还是do-while 核心重点是循环的条件 700 007 换种方式呢 #include int main() { int n; int x; int ret=0; scanf("%d",&n); while(n>0){ x=n%10; n/=10; ret=ret*10+x; } printf("%d",ret); return 0; }细心体会其中的偏差 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |