c语言程序设计:用strcpy比较数组(银行卡密码程序设计),strcpy(复制数组内容)和getchar()(敲键盘字符,统计不想要的字符的个数)
统计从键盘输入一行字符的个数:
1 //用了getchar() 语句
2 //这里的\n表示回车
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = ;
printf("输入键盘上的字符\n");
while (getchar() !='\n'){
n++;
}
printf("%d\n", n);
system("pause");
return ;
}
//更改题目:输入一行字符,直到输入9为止,并统计输入的个数
//当你输入一行字符如果第一个就为9的话,那么打印出来i的值结果为0,因为当循环判断到9的时候已经跳出,统计结果就是0
//当你输入了一行字符没有9的时候,键入回车键,仍然打印不出来i的结果,因为while循环一直在循环无法跳出,回车键仍然算做键入的字符,有几个算几个
//直到你打出来9为止,统计输入的字符(包括回车键)的个数,即为i的值
#include<stdio.h>
#include<stdlib.h>
int main (){
int i = ;
while (getchar() != ''){
i++;
}
printf("该系列字符不等于9的个数是\n%d\n", i);
system("pause");
return ;
}
1-8加回车键,不等于9的键一共有九个
//再次更改题目:输入一行字符,直到输入9为止,并统计输入的个数
//值得注意的是,换位思考,作为用户的他们并不想看到输入无限个不含9的字符仍然挑不出结果
//这时,我们加一个if语句,当i加到10(输入的10个键仍然不包含'9'的时候),则用break语句跳出,若小于10个数字包含9则退出,并打印不为9的个数。
#include<stdio.h>
#include<stdlib.h>
int main(){
int i = ;
while (getchar() != ''){
i++;
if (i == ){
printf("输入过多\n");
break;
}
}
if (i != ){ printf("该系列字符不等于9的个数是\n%d\n", i);
}
system("pause");
return ;
}
//字符串内容之间的复制,采用strcpy函数,需要调用<string.h>函数库
//strcpy(a,c)
//顺便再次提一下关于数组中括号里面填数字的问题,例如 arr[]="hi" ,中括号内应该填3或者选择不填,当然不填比较省事
//为什么会多一个数?因为还有个结束符\0,也要占一个内存空间,但是计算长度(strlen(arr[]))的时候结果还是为2,sizeof时结果为3.
//关于数组这个点需要谨记,比较容易遗忘。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
char a[] = "hi", c[] = "i am teacher!";
strcpy(c,a);
printf("%s\n%s\n", a, c);
system("pause");
return ;
}
//// 设计程序:银行卡密码输入
//用了strcmp函数,调用头文件为<string.h>
//题中不可以写成if(strcmp password==100001),因为c语言不支持这种写法,通过数组比较,当password数组中的值
//小于100001时,==后应为负数,反之大于时为正数
//c语言中strcmp这种比较方法可概括为"查英文词典法"
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
int i;
char password[] = { };
for (i = ; i <= ; i++){
printf("请输入密码\n");
// 字符数组,scanf时候可以不加&
scanf("%s", &password);
if (strcmp(password, "") == ){
printf("输入正确!\n");
printf("正在登陆...\n");
break;
}
else{
printf("输入错误,请重试\n");
if (i == ){
printf("重复输入过多,退出登录\n");
}
}
}
system("pause");
return ;
}
c语言程序设计:用strcpy比较数组(银行卡密码程序设计),strcpy(复制数组内容)和getchar()(敲键盘字符,统计不想要的字符的个数)的更多相关文章
- C语言中的函数、数组与指针
1.函数:当程序很小的时候,我们可以使用一个main函数就能搞定,但当程序变大的时候,就超出了人的大脑承受范围,逻辑不清了,这时候就需要把一个大程序分成许多小的模块来组织,于是就出现了函数概念: 函 ...
- C语言---数据结构(内建,数组,自定义)
数组是一组有序数据的集合,每个元素都属于同一个数据类型. 一维数组的定义: 类型符 数组名[常量表达式] 常量表达式中,可以包括常量和符号常量,int a[3+5]是合法的.但是不能包含int a[ ...
- C语言学习笔记之成员数组和指针
成员数组和指针是我们c语言中一个非常重要的知识点,记得以前在大学时老师一直要我们做这类的练习了,但是最的还是忘记了,今天来恶补一下. 单看这文章的标题,你可能会觉得好像没什么意思.你先别下这个 ...
- 智能合约语言 Solidity 教程系列5 - 数组介绍
写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 本文前半部分是参考Solidity官方文档(当前最新版本: ...
- 【嵌入式开发】C语言 内存分配 地址 指针 数组 参数 实例解析
. Android源码看的鸭梨大啊, 补一下C语言基础 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/detai ...
- [C] 在 C 语言编程中实现动态数组对象
对于习惯使用高级语言编程的人来说,使用 C 语言编程最头痛的问题之一就是在使用数组需要事先确定数组长度. C 语言本身不提供动态数组这种数据结构,本文将演示如何在 C 语言编程中实现一种对象来作为动态 ...
- Go语言学习笔记八: 数组
Go语言学习笔记八: 数组 数组地球人都知道.所以只说说Go语言的特殊(奇葩)写法. 我一直在想一个人参与了两种语言的设计,但是最后两种语言的语法差异这么大.这是自己否定自己么,为什么不与之前统一一下 ...
- C语言 内存分配 地址 指针 数组 参数 实例解析
. Android源码看的鸭梨大啊, 补一下C语言基础 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/detai ...
- C语言基础 (6) 类型转换,数组与随机数
复习 1.隐式转换 Double a Int b = 1 A = b //编译器自动转换把b转换为double类型后 再给a赋值(隐式转换) 2.强制类型转换 (变量)类型名 Int a = 1 // ...
随机推荐
- 【Leetcode】【Medium】Remove Duplicates from Sorted List II
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numb ...
- January 19 2017 Week 3 Thursday
What a man needs most is appreciated. 人性最深切的需求就是渴望别人的赞赏. Being appreciated by others is very importa ...
- 从0开始学CentOS7(2)---安装mariaDB、jdk1.8、redis
继续前面的基础步骤~ 这个是centos7自带的数据库MariaDB,以前是mysql,到7以后,改为MariaDB... 1. MariaDB安装,没有往深处配置...懒得动了..参考:http:/ ...
- Mac常备必用的软件-mac软件推荐
目录 终端工具 iTerm2,做开发的都用它代替系统自带的“终端”,免费软件,官网直接下载即可. 文件比较工具 meld,开源免费的文件/文本比较工具. 安装方法:brew cask install ...
- 使用jmeter进行简单的压测
安装下载 前往官网下载,[地址] 环境 需要java环境,此处略 最好对jmeter配置下环境变量,方便打开,此处略 运行 启动jmeter 进入到bin目录,输入 ./jmeter 启动 ...
- 【题解】洛谷P1896 [SCOI2005] 互不侵犯(状压DP)
洛谷P1896:https://www.luogu.org/problemnew/show/P1896 前言 这是一道状压DP的经典题 原来已经做过了 但是快要NOIP 复习一波 关于一些位运算的知识 ...
- HDU 1207 汉诺塔II (找规律,递推)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1207 汉诺塔II Time Limit: 2000/1000 MS (Java/Others) ...
- 安全清理Xcode 缓存垃圾
安全清理Xcode缓存垃圾方法: 经验证,Xcode缓存垃圾存储在~/Library/Developer/Xcode/DerivedData/路径下,缓存和Xcode的版本有关(如同一台Mac安装2个 ...
- The App Life Cycle & The Main Function
The App Life Cycle Apps are a sophisticated interplay between your custom code and the system framew ...
- [转载]对iOS开发中内存管理的一点总结与理解
对iOS开发中内存管理的一点总结与理解 做iOS开发也已经有两年的时间,觉得有必要沉下心去整理一些东西了,特别是一些基础的东西,虽然现在有ARC这种东西,但是我一直也没有去用过,个人觉得对内存操作 ...