程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> C語言程序改寫求救?

C語言程序改寫求救?

編輯:C語言問答

C語言程序改寫求救?

5

最佳回答:

我來試試
追問:

/*完善程序,實現將輸入的字符串反序輸出,
如輸入windows 輸出swodniw。*/
#include <string.h>
main()             記住這個
{  char  c[200],c1;
   int i,j,k;
   printf("Enter a string: ");
   scanf("%s",c); 
   k=strlen(c);
   for (i=0,j=k-1;i<k/2;i++,j--)  // //j之所以是k-1是因為數組是從0開始所以要比長度小1;
     {  c1=c[i];c[i]=c[j];c[j]=c1;  }
   printf("%s\n",c);         
}
如果不能用k=strlen(c);計算長度則用for或者while怎麼改
回答:
我能想到的是用 遞歸函數


全部代碼:



/*完善程序,實現將輸入的字符串反序輸出,
如輸入windows 輸出swodniw。*/
#include <stdio.h>
#include <string.h>


void reverse(char *str)
{
if (*str) {
reverse(str+1);
} else {
return;
}
printf("%c",*str);
}


char str[200];


int main()
{


    printf("Enter a string: ");
    scanf("%s",str);
   
    reverse(str);
   
    while (1);      
}
追問:
你這個有點復雜我暈暈的
回答:
要求不用strlen獲取長度,我只能想到遞歸


遞歸是有點復雜了
你可以先分析如果輸入abc三個字符的情況
逐步逐行分析


如果還暈暈的,我就幫你分析一次
追問:
有人幫我解決了他用這個很快int nlength = 0;while (1)
{
if (c[nlength] != '\0')
nlength++;
else
break;

}
回答:

我想的是完全不用知道字符串的長度
可能是我理解錯題目了,sorry


可以寫成更簡單的形式
int len=0;
while(c[len]) len++;
len就是長度
追問:
你更強 ·~~~嘿嘿 能加你QQ嗎·~交流交流·~
回答:
加吧~ 1461325698
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved