分支和循环2
Posted 垚垚是小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分支和循环2相关的知识,希望对你有一定的参考价值。
getchar 与putchar
第一个getchar 读取回车键
# include<stdio.h>
int main() {
int ret = 0;
char password[20] = { 0 };
printf("请输进去密码\\n");
scanf("%s", password);//输进去密码,并存放在password数组中
//缓存区还剩下一个| 回车
//读取一个‘\\n’
getchar(); 重点,这个是读取回车键
printf("请确认(Y/N):>");
ret = getchar();
if (ret == 'Y')
printf("确认成功\\n");
else printf("querenfangqi");
return 0;
}
当输进去的密码为1234 abc 是的代码
# include<stdio.h>
int main() {
int ret = 0;
int ch;
char password[20] = { 0 };
printf("请输进去密码\\n");
scanf("%s", password);//输进去密码,并存放在password数组中
//缓存区还剩下一个| 回车
//读取一个‘\\n’
//getchar();
while ((ch = getchar()) != '\\n') {
;
}
printf("请确认(Y/N):>");
ret = getchar();
if (ret == 'Y')
printf("确认成功\\n");
else printf("querenfangqi");
return 0;
}
当回车时再结束
任意输入一个,输出1到10
# include<stdio.h>
int main() {
int ch = 0;
while ((ch = getchar()) != EOF) {
if (ch < '0' || ch>'9')
continue;
putchar(ch);
}
return 0;
}
for循环
运算顺序
# include<stdio.h>
int main() {
int i = 0;
//初始化,判断;调整
for (i = 0; i <= 10; i++) {
printf("%d\\n", i);
}
}
先算 i=0;再算i<=10;
再输出i;最后i++
for循环尽量前闭后开。。。重点,这样可以根据后面的数知道打印次数
面试题
`
# include<stdio.h>
int main()
{
int i = 0, k = 0;
for (i = 0, k = 0; k = 0; i++, k++)
k++;
}
k=0为假,循环永远不进去
而去判断只能是判断,不能是赋值,否则就是死循环
一个循环解决阶乘相加
# include<stdio.h>
int main() {
int i;
int ret = 1;
int sum = 0;
for (i = 1; i <= 3; i++) {
ret = ret * i;
sum = sum + ret;
}
printf("%d\\n", sum);
}
二分法算法
# include<stdio.h>
int main() {
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int k = 7;
int se = sizeof(arr) / sizeof(arr[1]);
int left = 0;
int right = se - 1;
while (left<=right) {
int mid = (left + right) / 2;
if (arr[mid] > k) {
right = mid - 1;
}
else if (arr[mid] < k) {
left = mid + 1;
}
else {
printf("找到了\\t%d\\n", mid);
break;
}
}
if (left > right) {
printf("找不到\\n");
}
}
两边打印
# include<stdio.h>
# include<string.h>
# include<windows.h>
#include<stdlib.h>
int main() {
char a[] = "welcome to henan";
char b[] = "################";
int left = 0;
//int right = (sizeof(b) / sizeof(b[1])) - 2;
int right = strlen(b) - 1;
while (left <= right) {
b[right] = a[right];
b[left] = a[left];
printf("%s\\n", b);
//休息一秒
Sleep(1000);
system("cls");
right--;
left++;
}
return 0;
}
密码系统
# include<stdio.h>
# include<string.h>
int main() {
int i = 0;
char password[20] = { 0 };
for (i = 0; i < 3; i++) {
printf("输进去密码:\\n");
scanf("%s", password);
if (strcmp(password , "12345")==0) {
printf("成功了\\n");
break;
}
}
if (i == 3)
printf("输错了\\n");
return 0;
}
以上是关于分支和循环2的主要内容,如果未能解决你的问题,请参考以下文章
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段