acm---简单编码(可是真够简单的。。。)

本文介绍了一段用于将文本编码为密码的程序实现,包括小写转大写、大写转小写以及数字转换的规则,并最终将字符顺序颠倒。详细解释了编码逻辑与步骤,以及在实际应用中遇到的问题与解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*                          
*程序的版权和版本声明部分:                          
*Copyright(c)2013,烟台大学计算机学院学生                          
*All rights reserved.                          
*文件名称:                          
*作者:田成琳                          
*完成日期:2013年 11月20 日                          
*版本号:v1.0                          
*对任务及求解方法的描述部分:                          
*输入描述: 输入一串文本,最大字符个数不超过100。
*问题描述:
    将一串文本译成密码,密码的规律是: 将原来的小写字母全部翻译成大写字母,大写字母全部翻译成小写字母,数字的翻译规律如下:
    0——>9
    1——>8
    2——>7
    3——>6
    4——>5
    5——>4
    6——>3
    7——>2
    8——>1
    9——>0
    然后将所有字符的顺序颠倒。
*程序输出:输出编码后的结果
*问题分析:                          
*算法设计:                          
*/ 
我的程序:
#include<iostream>
using namespace std;
#include<cstring>
#include<cstdio>
int main()
{
	char a[100];
	int length;
	gets(a);
	length=strlen(a);                                     //计算字符串a的长度
	for(int i=0;i<=99;i++)
	{
	if(a[i]>='a'&&a[i]<='z')                              //小写转大写
	{
		a[i]=a[i]-32;
	}
	else if(a[i]>='A'&&a[i]<='Z')                        //大写转小写
	{
		a[i]=a[i]+32;
	}
	else if(a[i] >= '0' &&a[i] <= '9')                   //数字转换
	{
		a[i] = 105 - a[i]; // 9 - (a[i] - 48) + 48 // 数字求补
	}	
	}
	for(int n=length-1;n>=0;n--)                            //字符串逆序,本来百度到的用strrev函数反转,但oj提交不通过。length-1的意义在于去掉末尾gets()自动添加的'\0'.
	{
		cout<<a[n];
	}
	return 0;
}


运行结果:

心得体会:可是真够简单的,好多函数名,各种功能还都不清楚,只能用自己现学的一丝丝技术,结合百度完成。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值