2021.3.12 c语言学习——分支和循环的练习
今日练习
练习效果:
练习一:
代码:
int main(){
int num = 0;
int fac = 1;
int sum = 1;
printf(“请输入你要求得阶乘数\n”);
scanf("%d", &num);
for(fac=1;fac<=num;fac++){
sum = sum*fac;
}
printf("%d的阶乘数值为%d",num,sum);
}
显示结果:
练习2:
练习3:
int binsearch(int x,int v[],int n){
int i = 0;
int j = n-1;
int mid = (i+j)/2;
while(i<=j){
if(x==v[mid])
return mid+1;
else if(x<v[mid]){
j = mid -1;
mid = (i+j)/2;
}
else {
i = mid+1;
mid = (i+j)/2;
}
}
/* for(i;i<n;i++){
if(x==v[i]){
return i+1;
}
return 0;
}
int main(){
int v[] = {1,2,3,4,5,6,7,8,9};
int a = 0;
a = binsearch(5,v,5);
if(0==a)
printf(“未找到目标数值”);
else
printf(“数组中第%d个是目标数值”,a);
return 0;
}
用了函数的方法写的。
练习4:
int main(){
char arr1[] = {“welcome to haha!!!”};
char arr2[] = {"####################"};
int left = 0;
int right = strlen(arr1)-1;
while(left<=right){
arr2[left]=arr1[left];
arr2[right]=arr1[right];
printf("%s",arr2);
printf("\n");
left++;
right–;
}
return 0;
}
练习5:
int main(){
int i = 0;
char password[20]= {0};
for(i=0;i<3;i++){
printf(“请输入密码”);
scanf("%s",&password);
if((strcmp(password,“123456”))==0){
printf(“登陆成功!”);
break;
}
else {
i++;
printf(“密码错误!”);
}
}
if(i>=3){
printf(“对不起,您的账号已被冻结”);
}
return 0;
}
此小结分别学习了以下语句
分支语句
1、if
2、switch(判断条件必须得是整型)
循环语句
1、while
2、for
3、do while