先来两道题练练手

1、编写代码,演示多个字符从两端移动,向中间汇聚。

#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <stdlib.h>

int main(){
	char arr1[] = "Welcome to China!!!!!!";
	char arr2[] = "                      ";
	int left = 0;
	int right = strlen(arr1)- 1;

	while (left <= right){
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		printf("%s\n", arr2);
		left++; 
		right--;
		Sleep(100);
		system("cls");
	}
	printf("%s\n", arr2);
	return 0;
}

2、编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则提示登录成功,三次都输入错误,则退出程序)

#include <stdio.h>
#include <string.h>

int main(){
	int i = 0;
	char prssword[12] = {0};
	printf("请输入密码(3次):>");
	for (; 3 > i; i++){
		scanf("%s", &prssword);
		if (strcmp(prssword ,"123456") == 0){
    // == 不能比较两个字符串,应该用库函数-sarcmp,对应头文件string.h
			printf("登陆成功!\n");
			break;
		}
		else{
			printf("密码错误!\n");
			printf("请重新输入密码(%d次):>",2-i);
		}
	}
	if (i == 3){
		printf("密码错误三次,程序结束\n");
	}
}

总结/收获

  • windows.h-----Sleep(整数);-----暂停, 单位毫秒
  • stdlib.h-----system("cls");-----清屏
  • string.h-----strlen;-----计算字符串长度
  • string.h-----scrcmp;-----比较字符串