uva题目笔记——字符串

10878

解码磁带

将七个字符位子跟二进制码结合起来。通过空格(32),A(65),a(97)来印证。


537

1.查找字符串,如果基于C++语言的string类型,可以用s.find(args),args为字符串、字符、字符指针,如果找到,返回值为args的下标,如果没找到,则返回npos。如果想以是否找到作为分支判断的条件,可以写成if(s.find(args)!=npos).

如果基于C语言,可以用strstr(string1,string2)函数,当然,string1和string2都是C风格字符串,目的是在string1中寻找string2子串,如果找到string2,则返回首次出现的地址,如果没找到,则返回NULL;

2.用cout输出指定的精度格式是,cout<<setiosflags(ios:fixed)<<setprecision(2)<<c<<endl;

同时,本题要注意处理小数点之后的位数。指数函数是<cmath>中的pow(a,b),意思是a的b次方。


10361

简洁代码:

#include 
#include 
#define maxn 105
char s1[maxn],s2[maxn],s3[maxn],s4[maxn],s5[maxn],line[maxn];
void sgets(char *s){
         char tmp;
         int i=0;/*
         while(1){
                 tmp=getchar();
                 if((tmp=='<')||(tmp=='>')||(tmp=='\n')){
                         s[i]='\0';              
                         break;
                 }
                 s[i++]=tmp;
         }*/
         for(int i=0;i
思路:既然题目只通过输入输出判断结果是否符合要求,所以不必将几段字符串真正整合,按序输出即可。
26行处通过getchar(),吸收换行符。
34行通过手动加入'\0',抹掉后三位。
fgets会将结尾的换行符也存到数组里,即结尾为'\n''\0'.

10815

#include 
#include 
#include 
#include 
using namespace std;

int cmp(const void *_a,const void *_b){
        char *a=(char*)_a;
        char *b=(char*)_b;
        return strcmp(a,b);
}
int main(){
        char ch;
        char s[10001][205];
        int leap=1;
        int t=0;
        int c=0;
        while((ch=getchar())!=EOF){
                if((ch>='A')&&(ch<='Z'))
                        ch=ch-('A'-'a');
                if(isalpha(ch)){
                        leap=0;
                }
                else
                        leap=1;
                if(leap==1&&c!=0){
                        s[t][c++]='\0';
                        t++;
                        c=0;
                        s[t][c]=ch;
                }
                else if(leap==0){
                        s[t][c++]=ch;
                }
        }
        qsort(s,t+1,sizeof(s[0]),cmp);
        printf("%s\n",s[0]);
        for(int i=0;i
用getchar()来逐个字符获取输入,通过判断是否是字符,来决定是否要换行、是否要储存。

设立了两个标志:是否要换行,当前位置是否为某行的第一个元素,来调控存储的位置。

将所有单词存储后排序,并不剔除重复单词,只是在输出时比较相邻两个单词是否相同,相同的单词只输出第一次。


10010

从左上第一个元素开始按序(按优先级顺序)逐个分八个方向试探,将八个方向的字符串存下来与input比较。


10115

从文本中查找、替换词汇。

善于运用strstr(string1,string2);从string1中查找string2,返回查找到的地址,如果没有查找到,返回NULL;

 strcat(string1,string2),将string2接到string1后面;

 strcpy(string1,string2),将string2复制到string1后面。













内容概要:本文详细介绍了Maven的下载、安装与配置方法。Maven是基于项目对象模型(POM)的概念,用于项目管理和构建自动化的工具,能有效管理项目依赖、规范项目结构并提供标准化的构建流程。文章首先简述了Maven的功能特点及其重要性,接着列出了系统要求,包括操作系统、磁盘空间等。随后,分别针对Windows、macOS和Linux系统的用户提供了详细的下载和安装指导,涵盖了解压安装包、配置环境变量的具体操作。此外,还讲解了如何配置本地仓库和镜像源(如阿里云),以优化依赖项的下载速度。最后,给出了常见的错误解决方案,如环境变量配置错误、JDK版本不兼容等问题的处理方法。 适合人群:适用于初学者以及有一定经验的Java开发人员,特别是那些希望提升项目构建和依赖管理效率的技术人员。 使用场景及目标: ①帮助开发者掌握Maven的基本概念和功能特性; ②指导用户完成Maven在不同操作系统上的安装与配置; ③教会用户如何配置本地仓库和镜像源以加快依赖项下载; ④解决常见的安装和配置过程中遇到的问题。 阅读建议:由于Maven的安装和配置涉及多个步骤,建议读者按照文中提供的顺序逐步操作,并仔细检查每个环节的细节,尤其是环境变量的配置。同时,在遇到问题时,可参考文末提供的常见问题解决方案,确保顺利完成整个配置过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值