C和指標 (pointers on C)——第四章:語句(下)習題解答

來源:互聯網
上載者:User

標籤:c   指標   

題目請見 http://download.csdn.net/download/wangpegasus/5701765

第四章以下通過VS2012

1、

#include "stdafx.h"double sqrt(double temp){double before, after;before = 1.0;after = 1.0;do{before = after;after = (before + temp/before)/2;} while (before != after);return after;}int _tmain(int argc, _TCHAR* argv[]){double temp,result;puts("input N:");scanf_s("%lf",&temp);result = sqrt(temp);printf("sqrt N = %lf \n",result);return 0;}
2、

#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]){int length = 100;puts("Prime(1~100):\n");for (int i = 1; i <= length; i++){int ALU = 0;for (int j =1; j <= i; j++){if (i%j == 0){ALU++;}}if (ALU == 2){printf("%d\t", i);}}return 0;}
3、

#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]){int a,b,c;puts("輸入三邊長度(a,b,c):\n");do{scanf_s("%d,%d,%d",&a,&b,&c);} while ((a+b)<=c || (a+c)<=b || (b+c)<=a);if ((a == b)&&(b == c)){puts("等邊!");}else if ((a==b)||(b==c)||(c==a)){puts("等腰!");}else{puts("不等邊!");}return 0;}

4、2B方法:

void copy_n( char dst[], char src[], int n ){int i,l_src;l_src = 0;for (i = 0; dst[i] == '\0'; i++){l_src++;}if (l_src < n){for (i = 0; i < l_src; i++){dst[i] = src[i];}for (i = l_src; i < n; i++){dst[i] = '\0';}}else{for (i = 0; i < n; i++){dst[i] = src[i];}}}

正確做法:

void copy_n( char dst[], char src[], int n ){int dst_index, src_index;src_index = 0;for (dst_index = 0; dst_index < n; dst_index++){dst[dst_index] = src[src_index];if (src[src_index] != 0){src_index++;}}}
5、涉及到太多字串處理,略。
6、

void substr(char dst[], char src[], int start, int len){int dst_index, src_index, l_src;l_src =src_index = 0;do{l_src++;} while (src[l_src] != '\0' );if (start < 0 || len < 0 || start > l_src ++){dst[0] = '\0';}else{for ( dst_index = 0; dst_index < len; dst_index++){dst[dst_index] = src[src_index + start];if (src[src_index] != '\0'){src_index++;}}}}

7、

void deblank(char string[]){char copy_str[] = {'\0'};int str_index, copy_str_index, temp = 0;for ( str_index = 0; string[str_index] != '\0'; str_index++){if (string[str_index] == ' '){if (temp > 0){continue;}else{copy_str_index++;copy_str[copy_str_index] = string[str_index];temp++;}}else{copy_str_index++;copy_str[copy_str_index] = string[str_index];}}copy_str[copy_str_index++] = '\0';for ( copy_str_index = 0; copy_str[copy_str_index] != '\0'; copy_str_index++){string[copy_str_index]= copy_str[copy_str_index];}string[copy_str_index + 1] = '\0';}


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.