题目链接
输入一行数,统计其中共有多少个字符,用一个整数表示字符数(不包括空格和换行符)
总长度减去空格和换行的字符数
空格容易忘记减去
1.先用for循环统计该标题的总长度;
2.如果有空格和换行,,则需要除去其占用的字符;
3.最后用自增的方式求出字符的数量。
#include
#include
using namespace std;
int main()
{string s;//生成一个字符串sint sum=0;getline(cin,s);//读取字符串for(int i=0;i
注意题中括号中的内容。
题目链接
统计给定范围[L, R]中,数字2出现的次数
分个位,十位,百位...,当等于2时累加
1.要给i赋值,防止被修改
1.定义三个变量L,R,sum
2.给sum赋值0
3.%10抹除个位
4.当i等于2时,sum累加
5.输出sum
1.先用for循环,再用while循环
2.用%10分离每一位,看看是否是2
3.等于2时累加
#include
#include
using namespace std;
int main( )
{int L,R,sum=0;cin>>L>>R;int c=L;int a[10005];for(int i=L;i<=R;i++){a[i]=i;int c=i;//防止i被修改while(c!=0){if(c%10==2)//c取余等于2时,累加{sum++;}c/=10;//相当于c=c/10,抹除个位} }cout<
关于for循环while循环的使用,用到取余和复合赋值运算符.
题目链接
统计n个字符串中有几种本质上不同的字符串
用for循环输入,判断两个字符串是否一样
ab!=ba
1.输出n个字符串;
2.用两层for循环进行字符串之间的比较,判断其是否一样;
3.字符串一样用break阻止;
4.如果字符串不一样,则进行累加。
#include
#include
#includeusing namespace std;
int main()
{int n,k=1;cin>>n;string s[n];for(int i=0;i>s[i];//输入一组字符串s[i]}for(int i=0;i
先用双重循环打印出字符串,再对字符串中的 字符进行比较判断。
题目链接
输入一个n×n的字符矩阵,将其顺时针旋转90度后输出。
1.用二维数组输入一个n×n的字符矩阵
2.按顺时针旋转九十度之后呈现一个倒序
1.顺时针旋转九十度
1.定义一个变量n,
2.定义一个字符型的二维数组
3.改变for循环内容输出答案
1.先输入一个二维数组
2.用for循环
#include
using namespace std;
int main( )
{int n,i,j;cin>>n;char a[1005][1005];for(i=1;i<=n;i++)//用二维数组输入一个n×n的字符矩阵{for(j=1;j<=n;j++){cin>>a[i][j];}}for(i=1;i<=n;i++){for(j=n;j>=1;j--)//顺时针旋转之后呈现一个倒序{cout<
考察二维数组的运用 注意打草稿
题目链接
A,B两人选择两个二连坐坐下
1.A,B两人一起坐火车,从第一排开始,依次向后判断,如果有两个连座就坐下;
2.如果过道两边都可以座,优先选择左边;
3.有输出YES,没有输出NO。
必须是过道一侧的两个连座
1.用while输出n排座;
2.用两层for循环对每个座位是否空着进行判断;
#include
#include
#include
using namespace std;
int main()
{int n;while(cin>>n){string a[10000];//输出一组数int flag=0;for(int i=0;i>a[i];}for(int i=0;i
将每两个座位作为一组进行判断进行一一判断
题目链接
给定长度为n的字符串s,进行m次操作,每次将[l,r]范围内所有c1字符改成c2
1.双重for循环
2.在l到r的范围内将c1更改为c2
1.r一定小于n
1.定义两个变量n,m
2.定义一个字符串a
3.用for循环找到需要更改的位置
4.输出更改完成后的答案
1.用双重for循环
2.在l到r的范围内将c1更改为c2
#include
using namespace std;
int main( )
{int n,m;string a;cin>>n>>m;//输入长度n,操作次数mcin>>a;for(int i=0;i>l>>r;char c1,c2; //将c1更改为c2cin>>c1>>c2;for(int j=l-1;j
考察字符替换方法,用到二重循环
上一篇:JavaWeb中文件上传与下载
下一篇:本质上理解C++STL的六大组件