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 // ...
随机推荐
- MyEcplise使用---使用 MyEclipse 反转引擎生成数据库
使用 MyEclipse 反转引擎,生成数据库 步骤: 1. 新建 Database 连接 2. 新建web项目 temp 添加myeclipse hibernate 能力 3. Hibernate ...
- Spring学习总结之---装配Bean
Spring配置的可选方案 前言:Spring容器负责创建应用程序中的bean并通过DI来协调这些对象之间的关系,作为开发人员,你需要告诉Spring容器要创建那些Bean,以哪种方式创建,并且如何将 ...
- php简单的数组递归
参照 http://www.oschina.net/code/snippet_105637_11401 的例子 $arr = array('aa' => array('bb' => ...
- laravel-5-doctrine-2 教程
Open up a Terminal again, cd into learning folder and run: composer require "laravel-doctrine/o ...
- 深入解析Backbone.js框架的依赖库Underscore.js的作用
这篇文章主要介绍了深入解析Backbone.js框架的依赖库Underscore.js的作用,用过Node.js的朋友对Underscore一定不会陌生:)需要的朋友可以参考下 backbone必须依 ...
- jq实现随机显示部分图片在页面上(兼容IE5)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- bzoj2336 [HNOI2011]任务调度
Description 正解:搜索+随机化. 先写个搜索,枚举所有没有要求的任务属于哪一种任务,然后再用爬山来更新最优解. 具体来说就是先把所有先做任务$A$的按照$a$时间从大到小排序,先做任务$B ...
- 【[USACO12FEB]附近的牛Nearby Cows】
我记得我调这道题时中耳炎,发烧,于是在学长的指导下过了也没有发题解 发现我自己的思路蛮鬼畜的 常规操作:\(f[i][j]\) 表示到\(i\)的距离为\(j\)的奶牛有多少只,但注意这只是在第二遍d ...
- git branch 进入编辑状态
命令行输入git branch,发现进入编辑状态,都要:wq,非常不方便,这样配置 git config --global core.pager ''
- Linux系统如何禁止普通用户切换root?
Linux系统如何禁止普通用户切换root? 在上正文之前,我们先将一些基础的Linux用户以及用户组的相关命令: 1.添加用户 useradd [-g group] [-d user_home_di ...