题目请见 http://download.csdn.net/download/wangpegasus/5701765
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'; }
C和指针 (pointers on C)——第四章:语句(下)习题解答,布布扣,bubuko.com
时间: 2024-12-28 02:26:32