分支和循环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的主要内容,如果未能解决你的问题,请参考以下文章

二c语言初阶之分支和循环

二c语言初阶之分支和循环

03Python:分支和循环

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

3.1运算符+代码结构(分支+循环)+函数