IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 相识杭电OJ -> 正文阅读

[C++知识库]相识杭电OJ

C语言合法标识符
输入一个字符串,判断其是否是C的合法标识符。
输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。
对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
#include<iostream>
using?namespace?std;
int?main()
{
????int?n,k;
????char?a[50];
????cin>>n;
????getchar();
????while(n--)
????{
????????k=0;
????????gets(a);
????????if(a[0]>='0'&&a[0]<='9')
????????????cout<<"no"<<endl;
????????else
????????{
????????????int?len=strlen(a);
????????????for(int?i=0;i<len;i++)
????????????{
????????????????if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))
????????????????????k==0;
????????????????else?if(a[i]=='_')
????????????????????k==0;
????????????????else?if(a[i]>='0'&&a[i]<='9')
????????????????????k==0;
????????????????else
????????????????????k++;
????????? ? }
????????????if(k==0)
????????????????cout<<"yes"<<endl;
????????????else
????????????????cout<<"no"<<endl;
????????}
????}
????return?0;

}

PS:C语言合法标识符只能由字母(A~Z,?a~z)、数字(0~9)和下划线(_)组成,并且第一个字符必须是字母或下划线,不能是数字。

Lowest?Common?Multiple?Plus
求n个数的最小公倍数。
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
#include<iostream>
using?namespace?std;
int?main()
{
????int?n,i;
????int?a[100];
????while(cin>>n)
????{

????????__int64?sum=1;???????????????????//??将long?long?用?_int64?进行替换
????????for(i=0;i<n;i++)
????????{
????????????cin>>a[i];
????????????sum=sum*a[i];
????????}
????????for(int?j=1;j<=sum;j++)
????????{
????????????int?k=1;
????????????for(i=0;i<n;i++)
????????????{
????????????????if(j%a[i]!=0)
????????????????{
????????????????????k=0;
????????????????????break;
????????????????}
????????????????if(k==1)
????????????????{
????????????????????cout<<j<<endl;
????????????????????break;
????????????????}
????????????}

????}
????return?0;
}

PS:在VC6中所使用的编译器是C90标准的,而此?long?long?型是在C99中新加入的(longlong?int双长整型是C?99扩充的数据类型,同时扩充的还有float_complex,double_complex,longlong_complex,bool等),故无法实现编译。

将long?long?用?_int64?进行替换,就可以解决

汉字统计
统计给定文本文件中汉字的个数。
输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。
对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。
#include<iostream>
using?namespace?std;
int?main()
{
????int?n,sum;
????char?a[100];
????cin>>n;
????getchar();
????while(n--)
????{
????????sum=0;
????????gets(a);
????????int?len=strlen(a);
????????for(int?i=0;i<len;i++)
????????{
????????????if(a[i]<0)??????????????????//汉字统计ascii码小于0的个数,一个汉字占两个字节,所以最后要除以2
????????????sum++;
????????}
????????cout<<sum/2<<endl;???????????
????}
????return?0;
}

PS:在ASCII码中,汉字的条件是小于0,一个汉字占两个字节,所以在相关计算中最后要除以2.

今天又是挑战杭电OJ的一天,虽然也会有令人难以解决的代码题,但是每天都很充实。就这样不断地思索着解题思路,手指也在不断地敲打着键盘,炎炎夏日,与代码为伴。加油,代码人!

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-17 11:43:20  更:2021-07-17 11:45:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 6:34:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码