各大外包公司软件测试工程师高频出现的一道C编程题

测试空间旗下大头针出品
各大外包公司软件测试工程师高频出现的一道C编程题
这道题目憋了好半天,才作出来.看来老不自己写程序.手生了.估计可能还有些问题,如果你阅读程序的时候发现了,请帮助改正.好吗? 
字符串翻转:
例:原字符串 "I am a student." 转化为"student. a am I"
要求不能用库函数.

#include<stdio.h>
#include<string.h>
void main()
{
 char a[20]={"I am a student."};
 char b[20];//逆序后存储到b[20]中
 int j;//j控制循环次数
 int k=0,m=0,n;
 int length=0;
 int num=0;//串中子串的个数。
 
 for(;a[length]!='/0';length++);//求出串的长度,用length来表示.

 for(j=length-k-1;j>=0;j--)
 {   
   if(a[j]!=' ')
    k++;//k含义是求空格后有多少个字符。
   else
   {
    n=j;
    for(;k>=1;m++,n++,k--)
     b[m]=a[n+1];
    b[m]=' ';
   m++; 
   }
  
 }

   for(;k>=1;m++,j++,k--)
  b[m]=a[j+1];


   //测试程序,用puts()函数输出.
   b[m]='/0';
 puts(b);
}
 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值