C++学习笔记(25)

server/2024/9/22 13:08:41/

三、循环计数
有两个任务:
1)采用一个 while 循环,把 1 到 100 之间的数值累加起来。
2)采用一个 for 循环,把用户每次从键盘输入的数值累加起来,如果总和超过了 5000,循环结束。
示例:
#include <iostream>
using namespace std;
int main()
{
// 用一个 while 循环,把 1 到 100 之间的数值累加起来。
/*int ii = 1;
int sum = 0;
while (ii<=100)
{
sum = sum + ii;
ii++;
}
cout << "sum=" << sum << endl;*/
// 采用一个 for 循环,把用户每次从键盘输入的数值累加起来,如果总和超过了 5000,循环结
束。
int sum = 0;
for (sum=0; sum<=5000; )
{
int val = 0;
cout << "请输入一个数字:"; cin >> val;
sum = sum + val;
}
}
四、循环选数
有两个任务:
1)用一个 while 循环,接受从键盘输入的整数,如果输入的整数不在 1 到 100 之间(包括 1 和 100),
认为无效,丢弃;如果输入的整数在 1 到 100 之间,则把每次输入的值累加起来;如果输入的整数为 0,
跳出循环。最后,显示有效数据的个数和总和。
2)输出 1 到 100 之间(包括 1 和 100)的能整除 5 的数字。
示例一:
#include <iostream>
using namespace std;
int main()
{
// 1)用一个 while 循环,接受从键盘输入的整数,
// 如果输入的整数不在 1 到 100 之间(包括 1 和 100),认为无效,丢弃;
// 如果输入的整数在 1 到 100 之间,则把每次输入的值累加起来;
// 如果输入的整数为 0,跳出循环。
// 最后,显示有效数据的个数和总和。
int val; // 存放从键盘输入的整数。
int ii = 0; // 存放有效数据(1 到 100 之间)的个数。
int sum = 0; // 存放有效数据的总和。
while (true)
{
cout << "请输入一个整数:"; cin >> val;
if (val == 0) break;
else if (val < 1 || val>100) continue;
else
{
// 整数在 1 到 100 之间的有效数据。
ii++;
sum += val;
}
}
cout << "有效数据的个数=" << ii << ",有效数据的总和=" << sum << endl;
}
示例二:
#include <iostream>
using namespace std;
int main()
{
// 输出 1 到 100 之间(包括 1 和 100)的能整除 5 的数字。
for (int ii = 5; ii <= 100; ii = ii + 5)
{
cout << ii << " ";
}
cout << endl;
for (int ii = 1; ii <= 100; ii++)
{
if (ii%5==0) cout << ii << " ";
}
cout << endl;
}
五、玩转字符
有三个任务:
1)从界面上输入一个字母,显示该字母后面的字母,如果后面没有字母,给出提示。不允许用 if…e
lse if…和 switch 语句。a b A B
2)自定义一个函数,把字符的'0'、'1'、'2'、'3'、'4'、'5'、'6'、'7'、'8'、'9'转换为整数的 0、1、2、
3、4、5、6、7、8、9。不允许用 if…else if…和 switch 语句。
函数原型:
int ctoi(const char ch); // ch 为字符'0'、'1'、'2'、…'9',返回值为整数 0、1、2、…9。
调用示例:
cout << ctoi('0') << endl; // 输出结果是 0。
cout << ctoi('1') << endl; // 输出结果是 1。
cout << ctoi('9') << endl; // 输出结果是 9。
3)实现字符操作常用库函数的功能,如下:
int isalpha(int ch); // 若 ch 是字母('A'-'Z','a'-'z')返回非 0,否则返回 0。
int isalnum(int ch); // 若 ch 是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非 0,否则返回 0。
int isdigit(int ch); // 若 ch 是数字('0'-'9')返回非 0,否则返回 0。
int islower(int ch); // 若 ch 是小写字母('a'-'z')返回非 0,否则返回 0。
int isupper(int ch); // 若 ch 是大写字母('A'-'Z')返回非 0,否则返回 0。
int tolower(int ch); // 若 ch 是大写字母('A'-'Z'),则返回它的小写字母('a'-'z')。
int toupper(int ch); // 若 ch 是小写字母('a'-'z'),则返回它的大写字母('A'-'Z')。
示例一:
#include <iostream>
using namespace std;
int main()
{
// 1)从界面上输入一个字母,显示该字母后面的字母,如果后面没有字母,给出提示。
// 不允许用 if…else if…和 switch 语句。
char ch;
cout << "请输入一个字母:"; cin >> ch;
// 判断输入字符的合法性,如果不是字母,提示并退出。
if (!((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'))) { cout << "输入的字符不是字母。
"; return 0; }
// 如果输入字符是'Z'和'z',后面没有字母,提示并退出。
if (ch == 'Z' || ch == 'z') { cout << "后面没有字母了。"; return 0; }
// 显示 ch 后面的字母。
cout << ch << "后面的字母是:" << (char)(ch + 1) << endl;
}
示例二:
#include <iostream>
using namespace std;
int ctoi(const char ch) // ch 为字符'0'、'1'、'2'、…'9',返回值为整数 0、1、2、…9。
{
return ch - '0';
}
int main()
{
// 2)自定义一个函数,把字符的'0'、'1'、'2'、'3'、'4'、'5'、'6'、'7'、'8'、'9' // 转换为整数的 0、1、2、3、4、5、6、7、8、9。不允许用 if…else if…和 switch 语句。
cout << ctoi('0') << endl;
cout << ctoi('1') << endl;
cout << ctoi('2') << endl;
cout << ctoi('3') << endl;
cout << ctoi('8') << endl;
cout << ctoi('9') << endl;
}
示例三:
#include <iostream>
using namespace std;
int _isalpha(int ch); // 若 ch 是字母('A'-'Z','a'-'z')返回非 0,否则返回 0。
int _isalnum(int ch); // 若 ch 是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非 0,否则返
回 0。
int _isdigit(int ch); // 若 ch 是数字('0'-'9')返回非 0,否则返回 0。
int _islower(int ch); // 若 ch 是小写字母('a'-'z')返回非 0,否则返回 0。
int _isupper(int ch); // 若 ch 是大写字母('A'-'Z')返回非 0,否则返回 0。
int _tolower_(int ch); // 若 ch 是大写字母('A'-'Z'),则返回它的小写字母('a'-'z')。
// 若 ch 是小写字母('a'-'z'),则返回它的大写字母('A'-'Z')。
int _toupper_(int ch) {
if (ch >= 'a' && ch <= 'z') return ch - 32;
return ch;
}
int main()
{
char CC = _toupper_('x'); cout << "CC=" << CC << endl;
}
六、计算字符串的长度
从界面上输入一个字符串(C 风格),计算字符串的长度。如果输入的是"abcde",显示的结果是 5。
其它要求:
1)把计算字符串长度的功能封装成一个函数。
2)采用 for 循环,用数组表示法和临时变量计数。
3)采用 while 循环,用指针表示法和临时变量计数。
4)不用临时变量计数,用递归实现(奇巧淫技)。
示例:
#include <iostream>
using namespace std;
// 采用 for 循环,用数组表示法和临时变量计数。
//int length(char* str)
//{
// int len = 0;
// for (len = 0; str[len] != 0; len++)
// ;
//
// return len;
//}
// 采用 while 循环,用指针表示法和临时变量计数。
//int length(char* str)
//{
// int len = 0;
// char* ptr = str; // 指向字符串的开始。
//
// while (*ptr++) len++;
//
// return len;
//}
// 不用临时变量计数,用递归实现(奇巧淫技)。
int length(char* str)
{
if (*str == 0) return 0; // 递归中止的条件。
str++; // 后移一个字符。
int len = length(str) + 1; // 递归调用自己,递归每增加一层,字符串长度加 1。
return len;
// return length(++str) + 1;
}
int main()
{
// 从界面上输入一个字符串(C 风格),计算字符串的长度。
char str[31];
memset(str, 0, sizeof(str)); // 初始化是个好习惯。
cout << "请输入一个字符串:"; cin >> str;
cout << "字符串的长度是:" << length(str) << endl;
}
 


http://www.ppmy.cn/server/117544.html

相关文章

高防IP是如何防御攻击

DDoS攻击作为网络攻击中最常见的一种&#xff0c;一般利用大量的虚假流量向目标服务器发起攻击&#xff0c;进而堵塞网络损耗服务器性能&#xff0c;使服务器呈现崩溃状态&#xff0c;令真正的用户无法正常访问发送请求。以前的大型企业通常都是使用高防服务器来抵抗这类攻击&a…

Mac导入iPhone的照片怎么删除?快速方法讲解

随着Apple生态系统的高度整合&#xff0c;Mac与iPhone之间的照片同步和导入变得异常便捷。但这种便利有时也会带来一些管理上的困扰&#xff0c;比如Mac导入iPhone的照片怎么删除&#xff1f; 从iPhone直接删除照片 Mac导入iPhone的照片怎么删除&#xff1f;如果你的照片是通…

Ajax 使用流程详解

一、Ajax 使用流程 创建一个 HTML 文件&#xff0c;设置页面的基本结构和引入必要的资源。 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, ini…

【GPU版】Windows下PyTorch入门深度学习环境安装与配置

如果电脑有NVIDIA GPU显卡&#xff0c;看【GPU版本】&#xff1b;否则&#xff0c;看【CPU版本】 聊聊PyTorch和Tensorflow 它们都是python的库/包 pip3是给python3使用的&#xff0c;由于现在用的python基本上都是3以上版本&#xff0c;所以pip和pip3没有区别 聊聊Anacond…

基于Keil软件实现实时时钟(江协科技HAL库)

实时时钟实验是基于江协科技STM32的HAL库工程模板创建的(可以在作品“基于江科大STM32创建的HAL库工程模板”中的结尾处获取工程模板的百度网盘链接) 复制“OLED显示”的工程文件——“4-1 OLED显示屏”,并命名为“12-2 实时时钟 ”。打开工程,把下面的程序复制到相应的文…

hadoop3跑第一个例子wordcount

1、创建目录 hdfs dfs -mkdir -p /user/input2、创建测试文件&#xff0c;并上传文件到hdfs echo 1 > 1.txt hdfs dfs -put 1.txt /user/input3、进入hadoop-3目录&#xff0c;并创建测试文件 cd /app/hadoop-3创建目录 mkdir wcinput cd wcinput 保存wc.input nano wc.i…

医疗监测数据检测系统源码分享

医疗监测数据检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

第十一章 【后端】商品分类管理微服务(11.1)——创建父工程

第十一章 【后端】商品分类管理微服务 11.1 创建父工程 项目名称:EasyTradeManagerSystem:Easy 表示简单易用,Trade 表示交易,Manager 表示管理,System 表示系统,强调系统在商品交易管理方面的便捷性,简称 etms。 新建工程 yumi-etms yumi-etms 作为所有模块的父工程,…