代码如下:
10余年建站经验, 网站建设、做网站客户的见证与正确选择。创新互联提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。
#include stdio.h
#include string.h
#include stdlib.h
int main()
{
char str[100];
char buf[10];
int i;
int n = 0;
bool flag = 0;
int j = 0;
//gets(str);
scanf("%s", str);
for (i = 0; i != strlen(str); ++ i)
{
if (str[i] = '0' str[i] = '9')
{
buf[j] = str[i];
j++;
flag = 1;
}
else if (flag)
{
n += atoi(buf);
memset(buf,0,10);//清空缓存区
flag = 0;
j = 0;
}
}
printf("%s",buf);
printf("%d\n", n);
}
扩展资料
(C语言)常见字符函数和字符串函数
1、strlen
功能:计算字符串长度,不包含’\0’
返回值:返回字符串的字符数
说明:strlen() 函数计算的是字符串的实际长度,遇到第一个’\0’结束;参数指向的字符串必须以 ’ \0 ‘结束。函数返回值一定是size_t ,是无符号的。如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到’\0’停止。
sizeof返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen()是函数。
2、strcpy
功 能: 将参数src字符串拷贝至参数dest所指的地址
返回值: 返回参数dest的字符串起始地址
说明:源字符串必须以’\0’结束。会将源字符串的’\0’拷贝到目标空间。目标空间必须可变。如果参数dest所指的内存空间不够大,可能会造成缓冲溢出的错误情况,在编写程序时需特别留意,或者用strncpy()来取代。
思路:遍历字符数组,判断字符是否是数字,如果是进行相关操作,最后输出字符串数组即可。
参考代码:
#include stdio.h
#includestring.h
void fun(char a[]){
int i;
for(i=0;istrlen(a);i++)
if(a[i]='0'a[i]='8') a[i]++;
else if(a[i]=='9') a[i]='0';
}
int main()
{
char a[100];
gets(a);
fun(a);
puts(a);
return 0;
}
/*
运行结果:
abcABd24e9fg
abcABd35e0fg
*/
可以通过循环遍历数组中的每个元素,并进行累加。
累加的结果可以保存在变量中,需要注意,要保证变量足够保存累加结果,不会出现溢出。
参数为整型数组a,长度为l,对其元素实现累加并返回结果的函数可以写作
int sum(int *a, int l)
{
int r = 0; // 存储累加结果。
int i;
for(i = 0; i l; i ++)//遍历a
r += a[i];//累加元素。
return r;//返回结果。
}