Python123:字符串替换、字符串转换成十进制整数(C语言)

ops/2024/10/21 7:55:27/

文章目录

      • 1、字符串替换
      • 2、字符串转换成十进制整数

1、字符串替换

题目: 本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

原字母对应字母
AZ
BY
CX
DW
XC
YB
ZA

输入格式:
输入在一行中给出一个不超过80个字符、并以回车结束的字符串。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输出格式:
输出在一行中给出替换完成后的字符串。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输入样例:

Only the 11 CAPItaL LeTtERS are replaced.

输出样例:

Lnly the 11 XZKRtaO OeGtVIH are replaced.

代码1

#include <stdio.h>
int main()
{char str[80];int j=0,i;while((str[j]=getchar())!='\n')j++;str[j]='\0';for(i=0;i<j;i++){if(str[i]>='A'&&str[i]<='Z')str[i]='Z'+('A'-str[i]);printf("%c",str[i]);}return 0;
}

 

代码2


#include <stdio.h>int main(void) {char str[81];int k, i;k = 0;while ( (str[k] = getchar()) != '\n' )k++;str[k] = '\0';for ( i=0; str[i]!='\0'; i++ ) {if ( str[i] >= 'A'  &&  str[i] <= 'Z' )str[i] = 'Z' + ( 'A' - str[i] );printf("%c", str[i]);}return 0;
}

 
 

2、字符串转换成十进制整数

题目: 输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输入格式:
输入在一行中给出一个以#结束的非空字符串。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输出格式:
在一行中输出转换后的十进制数。题目保证输出在长整型范围内。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输入样例:

+-P-xf4+-1!#

输出样例:

-3905

代码1

#include<stdio.h>
int main()
{char a;int flag=1,mark=0,sum=0;a=getchar();while(a!='#'){if(a=='-'&&!mark)flag=-1;else if(a>='a'&&a<='f'||a>='A'&&a<='F'||a>='0'&&a<='9'){mark=1;if(a>='a'&&a<='f')sum=sum*16+a-'a'+10;else if(a>='A'&&a<='F')sum=sum*16+a-'A'+10;else if(a>='0'&&a<='9')sum=sum*16+a-'0';}a=getchar();}printf("%d",flag*sum);return 0;
}

 
代码2

#include <stdio.h>  
#include <string.h> 
#include<math.h>
int num(char s);
//输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,
//然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。//  例子 ; +-P-xf4+-1!#  第一个十六进制  是F 之前有- 滤掉过后就是 -f41 = -3905 
int main()  
{   	//输入在一行中给出一个以#结束的非空字符串。char a[800],b[800]; //b数组用来存放过滤后的字符 int d,i,j,k;i=0;gets(a);//过滤有‘-’ 的值 int p;p=strlen(a);k=0; for(i=0;i<p;i++){if((a[i]>='0'&&a[i]<='9')||(a[i]>='a'&&a[i]<='f')||(a[i]>='A'&&a[i]<='F')||a[i]=='-'){b[k]=a[i];k++;}}b[k]='\0';int flag=1;if(b[0]=='-') flag=-1; //判断 第一个字符是否为 -//重新过滤没有‘-’ 的值 k=0;for(i=0;i<p;i++){if((a[i]>='0'&&a[i]<='9')||(a[i]>='a'&&a[i]<='f')||(a[i]>='A'&&a[i]<='F')){b[k]=a[i];k++;}}	int sum=0;for(i=k-1,j=0;i>=0;i--,j++){   //i 控制幂次 j控制位数 因为 f41  第一位的要乘的数的幂次为f*16的2次方 if(b[j]>='0'&&b[j]<='9'){sum=sum+(b[j]-48)*pow(16,i);  //(b[j]-48) 将字符转化为相对应的数字; }else{sum=sum+num(b[j])*pow(16,i);   }} printf("%d",sum*flag);return 0;  } 
int num(char s)
{if(s == 'a'||s == 'A')return 10;if(s == 'b'||s == 'B')return 11;if(s == 'c'||s == 'C')return 12;if(s == 'd'||s == 'D')return 13;if(s == 'e'||s == 'E')return 14;if(s == 'f'||s == 'F')return 15;
}

http://www.ppmy.cn/ops/56239.html

相关文章

C#控件总结

C#中&#xff0c;控件是用户界面开发的核心部分&#xff0c;它们用于构建和交互应用程序的用户界面。以下是一些常见的控件及其用法总结&#xff1a; 常见控件 Label&#xff08;标签&#xff09; 用途&#xff1a;用于显示文本或图像&#xff0c;通常用于显示静态内容。示例代…

电源设计技巧:DDR内存电源

CMOS逻辑系统的功耗主要与时钟频率、系统内各栅极的输入电容以及电源电压有关。器件形体尺寸减小后&#xff0c;电源电压也随之降低&#xff0c;从而在栅极层大大降低功耗。这种低电压器件拥有更低的功耗和更高的运行速度&#xff0c;允许系统时钟频率升高至千兆赫兹级别。在这…

Go bytes包

bytes包 Go 语言中的 bytes 包提供了用于操作字节切片的函数集合。字节切片是 Go 语言中非常常用的数据类型&#xff0c;用于表示二进制数据或 UTF-8 编码的字符串。 bytes 包主要功能 操作和处理字节切片搜索和比较字节切片修改和分割字节切片读取和写入字节切片 使用场景 字…

expdp Ora-00600 expcnt mismatch BUG 修复

环境: 19c 单机 ADG expdp 导出报错 Trace 文件报错 Ora-00600 临时解决办法 1、删除不匹配的对象&#xff08;对exp基表操作&#xff0c;避免异常建议提前备份&#xff09; SQL> With b as (select count(*) cnt,objn,snapshot_id from sys.exp_stat$ es group by objn,sn…

【Linux命令基础】vim的简介

文章目录 前言如何在Ubuntu中安装VimVim的作用Vim的优势vim的模式总结前言 在Linux环境中,我们经常需要编辑文本文件,无论是编写代码,还是修改配置文件。而在这些场景中,Vim编辑器无疑是我们的得力助手。Vim是从vi发展出来的一个文本编辑器,代码补全、编译及错误跳转等方…

代码随想录打卡第十八天

代码随想录–二叉树部分 day 17 休息日 day 18 二叉树第五天 文章目录 代码随想录--二叉树部分一、力扣654--最大二叉树二、力扣617--合并二叉树三、力扣700--二乘树中的搜素四、力扣98--验证二叉搜索树 一、力扣654–最大二叉树 代码随想录题目链接&#xff1a;代码随想录 给…

JVM:类的生命周期

文章目录 一、介绍二、加载阶段三、连接阶段四、初始化阶段 一、介绍 类的生命周期描述了一个类加载、连接&#xff08;验证、准备和解析&#xff09;、初始化、使用、卸载的整个过程。 加载&#xff08;Loading&#xff09;阶段第一步是类加载器根据类的权限定名通过不同的渠…

前端视角下的Spring-Boot语法学习:demo-crud 实现增删改查

今日话题 基于 Spring Boot 实现增删改查&#xff0c;仅仅只是提供接口不涉及数据库增删改查 作者&#xff1a;云层上的光 时间&#xff1a;2024年6月21日 15时19分14秒 主线任务 一、项目创建 1、基于 idea 创建项目 2、选择项目依赖 Spring Web 二、实现增删改查 1、新…