文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>a program a day 6

a program a day 6

时间:2010-10-02  来源:生无涯

/**
*输入字符串a1,a2,a3,...,an
*输出字符串An,a1,An-1,a2,...A1,an
*递归法实现
**/
#include<stdio.h>
#include<string.h>
char upper(char c)
{
 return (c-'a'+'A');
}
/*
递归法1
*/
void printString(char str[],int n,int i)
{
 if(i < n)
 {
  printf("%c%c",upper(str[n-1-i]),str[i]);
  printString(str,n,i+1);
 }
}
/*
递归法2
*/
void printString1(char str[],int n,int i)
{
 if(n>=1)
 {
  printf("%c%c",upper(str[n-1]),str[i]);
  printString1(str,n-1,i+1);
 }
}
/*
非递归方法1
*/
void printString2(char str[],int n)
{
 for(int i = 0; i < n; i++ )
 {
  printf("%c%c",upper(str[n-i-1]),str[i]);
 }
}
/*
非递归方法2,此方法不对,不能正确判断str的大小??
*/
/*void printString3(char str[])
{
 int n = strlen(str);
 printf("%d",n);
 for(int i = 0; i < n; i++ )
 {
  printf("%c%c",upper(str[n-i-1]),str[i]);
 }
}*/
int main()
{
 char str2[] = {'a','b','c','d','e'};
 char str1[] = {'a','b','c','d','e'};
 printf("%d\n",strlen(str2));
 printf("%d\n",strlen(str1));
    //为什么str的大小不定?

 char str[] = {'a','b','c','d','e'};
 printString(str,5,0);
 printf("\n");
    printString1(str,5,0);
 printf("\n");
 printString2(str,5);
 printf("\n");
/* printString3(str);
 printf("\n");*/
 return 1;
}

相关阅读 更多 +
排行榜 更多 +
猎枪行动

猎枪行动

飞行射击 下载
导弹袭击

导弹袭击

飞行射击 下载
猫猫突围封锁要塞新手打法

猫猫突围封锁要塞新手打法

飞行射击 下载