统计从键盘输入一行字符的个数:
1 //用了getchar() 语句 2 //这里的 表示回车
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 int n = 0; 6 printf("输入键盘上的字符 "); 7 while (getchar() !=' '){ 8 n++; 9 } 10 printf("%d ", n); 11 system("pause"); 12 return 0; 13 }
//更改题目:输入一行字符,直到输入9为止,并统计输入的个数
//当你输入一行字符如果第一个就为9的话,那么打印出来i的值结果为0,因为当循环判断到9的时候已经跳出,统计结果就是0
//当你输入了一行字符没有9的时候,键入回车键,仍然打印不出来i的结果,因为while循环一直在循环无法跳出,回车键仍然算做键入的字符,有几个算几个
//直到你打出来9为止,统计输入的字符(包括回车键)的个数,即为i的值
1 #include<stdio.h> 2 #include<stdlib.h> 3 int main (){ 4 int i = 0; 5 while (getchar() != '9'){ 6 i++; 7 } 8 printf("该系列字符不等于9的个数是 %d ", i); 9 system("pause"); 10 return 0; 11 }
1-8加回车键,不等于9的键一共有九个
//再次更改题目:输入一行字符,直到输入9为止,并统计输入的个数
//值得注意的是,换位思考,作为用户的他们并不想看到输入无限个不含9的字符仍然挑不出结果
//这时,我们加一个if语句,当i加到10(输入的10个键仍然不包含'9'的时候),则用break语句跳出,若小于10个数字包含9则退出,并打印不为9的个数。
1 #include<stdio.h> 2 #include<stdlib.h> 3 int main(){ 4 int i = 0; 5 while (getchar() != '9'){ 6 i++; 7 if (i == 10){ 8 printf("输入过多 "); 9 break; 10 } 11 } 12 if (i != 10){ 13 14 15 printf("该系列字符不等于9的个数是 %d ", i); 16 } 17 system("pause"); 18 return 0; 19 }
//字符串内容之间的复制,采用strcpy函数,需要调用<string.h>函数库
//strcpy(a,c)
//顺便再次提一下关于数组中括号里面填数字的问题,例如 arr[]="hi" ,中括号内应该填3或者选择不填,当然不填比较省事
//为什么会多一个数?因为还有个结束符 ,也要占一个内存空间,但是计算长度(strlen(arr[]))的时候结果还是为2,sizeof时结果为3.
//关于数组这个点需要谨记,比较容易遗忘。
1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include<string.h> 5 int main() 6 { 7 char a[] = "hi", c[] = "i am teacher!"; 8 strcpy(c,a); 9 printf("%s %s ", a, c); 10 system("pause"); 11 return 0; 12 }
//// 设计程序:银行卡密码输入
//用了strcmp函数,调用头文件为<string.h>
//题中不可以写成if(strcmp password==100001),因为c语言不支持这种写法,通过数组比较,当password数组中的值
//小于100001时,==后应为负数,反之大于时为正数
//c语言中strcmp这种比较方法可概括为"查英文词典法"
1 #define _CRT_SECURE_NO_WARNINGS 2 #include<stdio.h> 3 #include<stdlib.h> 4 #include<string.h> 5 int main(){ 6 int i; 7 char password[10] = { 0 }; 8 for (i = 1; i <= 3; i++){ 9 printf("请输入密码 "); 10 // 字符数组,scanf时候可以不加& 11 scanf("%s", &password); 12 if (strcmp(password, "100001") == 0){ 13 printf("输入正确! "); 14 printf("正在登陆... "); 15 break; 16 } 17 else{ 18 printf("输入错误,请重试 "); 19 if (i == 3){ 20 printf("重复输入过多,退出登录 "); 21 } 22 } 23 } 24 system("pause"); 25 return 0; 26 }