2){n/=2;i++;}printf("log2of%dis%d",t,i);}" />

翁恺 4.4 循环的例子

您所在的位置:网站首页 while循环怎么算 翁恺 4.4 循环的例子

翁恺 4.4 循环的例子

2023-04-02 19:08| 来源: 网络整理| 查看: 265

 例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  核心重点是循环的条件

#include #include #include int main() { srand(time(0)) ; int number=rand()%100+1; int count=0; int a; printf("我已经想好了一个1到100的数,请猜出这个数\n"); do{ scanf("%d",&a); count++; if(a>number) { printf("大了\n"); }else if(a0){ x=n%10; n/=10; printf("%d",x); } return 0; }

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