返回

C语言基础 part3

发布时间:2023-02-04 01:04:14 252
  #include
#include
#include
#include
#define SPACE ''
//int main(){
// //while 循环当中 “break” 是直接结束本次循环 ;“continue"是继续完这次循环后再判断循环条件是否结束循环
// int ch = 0 ;
// while ((ch = getchar()) !=EOF) //getchar()接收一个字符放到ch当中去 看其是不是等于EOF
// //EOF --end of file 文件结束标志
// //同时按“ctrl+z"停止
//
// {
// putchar(ch); //打印ch当中接收到的字符
// }
// return 0;
//}
//int main(){
// int ret = 0;//定义一个变量ret 来接收值
// char password[20] = { 0 };
// printf("请输入密码:>\n");
// scanf_s("%s", password,20);//输入密码,并且存放在数组password里 "%s"指其输入的是字符串
// //要在scanf_s("%s",数组名,数组界限);!!!!!!!!
// getchar();
// printf("请确认密码(N\Y)\n");
//
// ret = getchar();// "getchar()"是来接收字符的 要么接收N\Y

// if (ret == 'Y'){ //如果接收到了y
// printf("确认成功\n");
// }
// else{
// printf("确认失败\n");
// }
// return 0;
//}//??????
//int main(){
// char ch = 0 ;
// while((ch=getchar())!= EOF) //获取字符到ch 如果获取的字符不等于EOF 就继续循环
// {
// if (ch>'0' || ch<'9')//ch小于字符0或大于字符9
// {
// continue;
// }
// putchar(ch);//打印ch
// }
// return 0;
//}
//
//int main(){
// //for(初始化;判断;调整){循环体}
// //break 直接跳出循环
// //coontinue 跳出本轮后的代码 来到 调整 代码部分进行循环!!!!!
// //不可以在 for 内部改变循环变量防止其失去控制!!!!!
// //建议for循环语句的循环变量采取“前闭后开区间”写法(例:I=0~i<10)左边是闭区间 右边是开区间!!!!! 如(i<=9)表示的是闭区间 一般不采用!
//
// //for(::){printf("hihi\n")} 死循环!!!!! 1.for循环初始化、调整、判断 都可以省略(其 判断条件是恒为 真)!!!!!
// ​​//2.如果不是非常熟练​​ 不建议
// //for循环条件不成立直接跳出循环!!!!!
//
// do ...while() 循环 do {循环语句} while(判断条件);
//
// return 0;
//}
//int main(){
//
////n!
// //int i = 0;
// //int n = 0;
// //int sum = 1;//初始的sum不能为0 不然下面相乘的值全为0 !
// //scanf_s("%d", &n);
// //for (i = 1; i <= n; i++) //此循环输入的n不能溢出!!!!!
// //{
// // sum = sumi;
// // printf("sum每一次的值%d\n", sum);
// //}
// //printf("%d\n", sum);
//
//
////1!+2!+3!+....+n!
//
////法一 在上面那代码上多嵌套一个N的循环
// //int i = 0;
// //int n = 0;
// //int sum = 1;
// //int he = 0;
// //scanf_s("%d", &n);
// //for (n = 1; n <=3;n++)//n<=3表示1!+2!+3!。n<=几就代表要加到几的和 scanf_s 就要输几
// //{
// //
// // for (i = 1,sum=1; i <= n; i++) //sum 一定要初始值 不然就会 将上一次循环的结果累加到下一次 阶层当中!!!!!
// // {
// // sum = sumi;
// // printf("sum每一次的值%d\n", sum);
// // }//sum的阶层
//
// // he = he + sum;
// // printf("he每一次的值%d\n", he);
// //}
// //printf("%d\n", he);
//
////法二
// //int i = 0;
// //int n = 0;
// //int sum = 1;
// //int he = 0;
// //scanf_s("%d", &n);
// //for (n = 1; n <= 3; n++)//n<=3表示1!+2!+3!。n<=几就代表要加到几的和 scanf_s 就要输几
// //{
//
// // sum = sum*n;
// // he = he + sum;//he 会保留其上次得到的结果 所以以此得到累加的结果
// //}
// //
// //printf("%d\n", he);
//
// return 0;
//}
//int main(){
//
////在有序数组当中查找n
// //sizeof(a)/sizeof(a[0]) -计算数组当中元素的个数 (整形数组{}不需要考虑"\0"的位置 但是字符串、字符数组需要考虑"\0"
// //char a[]="hahab”-字符串、字符数组 sz=sizeof(a)/sizeof(a[0])-2(-2是b的位置)
//其一般不用!!!!!
//一般用 “strlen(a) -求字符串长度 其中没有包含\0 -求/0前面元素个数!!!!!(从 0 开始)
//////如果数组a[]={1,2,3,4,5,6,7,} 同时k=7 在数组当中找到k的位置
// // int a[] = { 1, 2, 3, 4, 5, 6, 7 };
// // int k = 7;
// //
// // int i = 0;
// // int sz = sizeof(a) / sizeof(a[0]);
// // for (i = 0; i < sz; i++)
// // {
// // if (k == a[i])
// // {
// // printf("找到了 其位置是:%d\n", i);
// // break;
// // }
// // }
// // if (i == sz)
// // {
// // printf("数组当中没有其包含的元素。\n");
// // }
//
////二分法查找有序数组的数
// int a[] = { 0,1, 2, 3, 4, 5, 6, 7,8,9,10 };
// int k = 7;
// int sz = sizeof(a) / sizeof(a[0]);
// int left = 0;
// int right = sz;
//
// while (left<=right)//只有left<=right才代表其有元素去查找
// {
// int mid = (left + right) / 2;
// if (a[mid] > k)
// {
// right = mid - 1;
// }
// else if (a[mid]<k)
// {
// left = mid + 1;
// }
// else
// {
// printf("找到了 其位置是:%d\n", mid);
// break;//跳出循环
// }
// }
// if (left > right)
// {
// printf("找不到\n");
// }
// return 0;
//}
//int main(){
// //编写代码 演示多个字符从两端移动向中间汇聚
// //welcome to bit!!!!!
// //###################
// //w#################!
// //we###############!!
// //...
// //welcome to bit!!!!!

//
// //sleep(1000);-停留函数 表示停留 1000ms-要在头文件处定义 #include
//
// char arr1[] = "welcom to CHINA";
// char arr2[] = "###############";
// int left = 0;
// int sz = strlen(arr1) - 1;//-1是因为其下标是从0开始的!!!!! P138行处
// int right = sz;
// while (left <= right)
// {
// arr2[left] = arr1[left];
// arr2[right] = arr1[right];
// printf("%s\n", arr2);
//
// Sleep(1000);//输出时停留1s
// system("cls");//执行系统命令的函数 cls-清空屏幕--应该添加头文件”#include"
// left++;
// right--;
// }
//
// printf("%s\n", arr2);
//
//
// return 0;
//}int main(){
//模拟用户登录情形 密码(122456)只允许登录三次 正确:登录程序 错误 :退出程序
//"=="逗号不能用来比较两个字符串相同!!!!!

//比较两个字符串相同 应该使用字符串- strcmp("a","bbbbb")==0 !!!!! 头文件 #include
//如果两个字符串相同 strcmp("a","b")会等于0 ;如果 a>b 会返回一个大于0的数;aint i = 0;
char password[20] = { 0 };
for (i = 0; i < 3; i++)
{
printf("请输入密码:>");
scanf_s("%s", password,20);//记得加数组长度!!!!!
if (strcmp(password, "123456") == 0)//数组password 不需要加""!!!!!
{
printf("登录成功\n");
break;
}
else
{
printf("登录失败,请重新输入\n");
}
}
if (i == 3){
printf("三次输入错误,退出程序\n");
}
return 0;

}

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
QT实现点击按钮切换窗口 2023-02-04 00:36:54