目录
老样子作业先行:
作业:
#include<stdio.h>
int main(){
int n,i=0,sum=0,a[100];
scanf("%d",&n);
while(n){
a[i]=n%2;
n/=2;
i++;
}
for(int j=i-1;j>=0;j--){
printf("%d",a[j]);
}
return 0;
}
分析:
比较简单:就是输入一个数,转换二进制,所以每个数不会大于2,就取余2,然后就建立一个数组记录每个值,注意需要逆序输出。
测试:
今天讲一下循环常有的两种打破形式
第一种:break
运行方式:打破循环并进入下一个语法
例子:
#include<stdio.h>
int main(){
int n,sum=0;
scanf("%d",&n);
while(n){
if(n-2==0){
break;
}
else{
sum+=n;
n--;
}
}
printf("%d",sum);
return 0;
}
计算从输入的数据一直到2之前的和
break最大的优点就是简化计算量
如果使用for计算相当大的数据会比较麻烦,以后break的作用会体现
第二个:continue
结束本次循环进入下一次
例子:
#include<stdio.h>
int main(){
int n,sum=0;
scanf("%d",&n);
while(n){
if(n%2==0){
n--;
continue;
}
else{
sum+=n;
n--;
}
}
printf("%d",sum);
return 0;
}
同样的代码稍作改动
计算输入数据到0之间所以奇数的和
很方便很快速。
作业:
求1-100之间3的个数