2013-03-11 88 views
2

我需要你們的幫助,我們卡在K & R練習1-13。它的功能!我通過幾乎所有的1章,但堅持功能。我無法理解如何使用函數。那麼我知道如何做簡單的功能,但當我來到更復雜的一個我卡在它!不知道如何傳遞數值,功率函數的例子有點難以理解。但是無論如何,如果您可以完成它,我需要您在練習1 - 13的幫助,以便我能夠閱讀代碼並瞭解如何使用函數。
這裏行使它的自我:
寫一個程序,它的輸入轉換爲小寫,使用函數如果c不是字母較低(三)巫返回對應c和c的小寫值,如果它是一個字母C語言編程K&R練習1-13

如果你知道一些鏈接或任何女巫有一些有關如何處理更困難的功能(不喜歡將字符串傳遞給主,但算術一)的有用信息,請你把它們鏈接起來。

而且這不是k &的R 2版

+1

什麼是您的谷歌查詢?我懷疑你的研究技能不足。確保你使用的是最新的書; IT行業變化非常迅速,任何使用史前技術的人都會落後。 – Sebivor 2013-03-11 02:50:53

+0

@modifiable lvalue我會問在這裏,如果我會在谷歌找到任何有用的信息。 MB我的研究技能有點糟糕。 – AlexGreat 2013-03-11 02:53:20

+2

*「...如果它可能爲您完成它..」* * * *你*至少***嘗試***「完成它」並返回,代碼在手,與問題有關您在此過程中遇到的問題。 – WhozCraig 2013-03-11 02:54:01

回答

0

如果已讀ķ& R,while循環,其中一個簡單的getchar()/的putchar()組合的第1章。是用來獲取和顯示字符,我相信你會發現這個程序很熟悉。

#include<stdio.h> 

int main() 
{ 

int ch; 
    while((ch = getchar()) != EOF) 
    { 
     if((ch>=65)&&(ch<=122)) 
     { 
      if((ch>=97)&&(ch<=122)) 
       ch=ch-32; 
      else if((ch>=65)&&(ch<=90)) 
      ch=ch+32; 
     } 
     putchar(ch); 
    } 
return 0; 
} 
+0

我的K&R是不同的。我使用俄語版的K&R。書中90%的例子完全不同 – AlexGreat 2013-03-11 03:43:05

1
/* 
* A function that takes a charachter by value . It checks the ASCII value of the charchter 
* . It manipulates the ASCII values only when the passed charachter is upper case . 
* For detail of ASCII values see here -> http://www.asciitable.com/ 
*/ 
char lower(char ch){ 

    if(ch >= 65 && ch <=90) 
    { ch=ch+32; 
    } 
    return ch; 


} 
int main(int argc, char** argv) { 
    char str[50]; 
    int i,l; 
    printf("Enter the string to covert "); 
    scanf("%s",str); 
    /* 
    Get the length of the string that the user inputs 
    */ 
    l=strlen(str); 

    /* 
    * Loop over every characters in the string . Send it to a function called 
    * lower . The function takes each character by value . 
    */ 
    for(i=0;i<l;i++) 
    str[i]=lower(str[i]); 

    /* 
    * Print the new string 
    */ 

    printf("The changes string is %s",str); 
    return 0; 
} 
+0

@AlexGreat。如果你自己第一次嘗試代碼,會更好。這裏的人們在計算器上已經準備好幫助那些首先幫助自己的人。您可以發佈您不明白的片段。不過,我知道你可能正在努力,所以我發佈了一個小解決方案。有多種方法可以解決這個問題。這只是一個。可能不是最好的。可能不是最優化的一個。希望它能讓你開始。 – rockstar 2013-03-11 03:15:30

+0

太棒了!這是我正在尋找的。非常感謝你 。我實際上做了幾乎相同的事情,同時試圖做我的自我,但有很多的錯誤。再次感謝您 – AlexGreat 2013-03-11 03:41:49