C语言字符串运算!

Python06

C语言字符串运算!,第1张

#include <iostream>

#include <string>

#include <algorithm>

using namespace std

void k_add(string a, string b, int k)

{

//将长的字符串放在前面

if (a.size() <b.size())

{

string temp = a

a = b

b = temp

}

//对源字符串进行翻转

reverse(a.begin(), a.end())

reverse(b.begin(), b.end())

bool carry = false//进位

//字符串相加

size_t i = 0

for (i <b.size()i++)

{

if (i <b.size())

{

a[i] += b[i] - '0'

if (carry) a[i] += 1

carry = false

if (a[i] >= k + '0')

{

a[i] -= k

carry = true

}

}

}

for (i <a.size()i++)

{

if (carry) a[i] += 1

carry = false

if (a[i] >= k + '0')

{

a[i] -= k

carry = true

}

}

if (carry)

{

a.push_back('1')

}

//输出

bool begin = false

for (int j = a.size() - 1j >= 0 j--)

{

if (a[j] >'0')

{

begin = true

}

if (begin)

{

cout <<a[j]

}

}

cout <<endl

}

简单模拟即可

3进制测试

10进制测试

#include<stdio.h>

#include<stdlib.h>

int main()

{

int i,len,ok

char str[1024]={'\0'}

do

{

ok=1

printf("请输入一个字符串:\n")

gets(str)

i=0

while('\0'!=str[i])

{

if(!isalpha(str[i]))

{

ok=0

break

}

i++

}

}while(!ok)

len=strlen(str)

printf("字符串\"%s\"的长度是%d。\n",str,len)

//printf("字符串\"%s\"包含了以下元音字母:\n",str)

printf("字符串未进行元音字母循环加密(加密规则a->e->i->o->u->a)前是:\n%s。\n",str)

i=0

while('\0'!=str[i])

{

if('a'==str[i])

{

str[i]='e'

}

else if('e'==str[i])

{

str[i]='i'

}

else if('i'==str[i])

{

str[i]='o'

}

else if('o'==str[i])

{

str[i]='u'

}

else if('u'==str[i])

{

str[i]='a'

}

i++

}

printf("字符串进行元音字母循环加密(加密规则a->e->i->o->u->a)后是:\n%s。\n",str)

system("PAUSE")

return EXIT_SUCCESS

}

在C语言中,输入输出字符串有以下两种方式:

1 用scanf/printf输入输出。

scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也

其支持范围内。

格式化字符为%s。

定义

char str[100]

输入

scanf("%s",str)

输出

printf("%s",str)

2 C语言还支持专门的字符串输入输出函数:gets/puts。

gets的作用为,读入一行输入,并将读到的换行符替换为字符串结束符。

puts的作用为,将字符串单行输出,即输出字符串内容后,会自动在结尾增加换行。

定义

char str[100]

输入

gets(str)

输出

puts(str)

扩展资料:

起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。

这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。

K&R C主要介绍了以下特色:

结构体(struct)类型

长整数(long int)类型

无符号整数(unsigned int)类型

把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。

即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。

1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。

1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。

1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 "Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。

1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C  。

因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。

1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994,有些人简称为C94标准。

1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity [7]  ,有些人简称为C95标准。

参考资料:百度百科-c语言