程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C和指針 (pointers on C)——第四章:語句(下)習題解答

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

編輯:關於C語言

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


 

第四章以下通過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 
,result);
	return 0;
}
2、

 

#include stdafx.h

int _tmain(int argc, _TCHAR* argv[])
{
	int length = 100;
	puts(Prime(1~100):
);
	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	, i);
		}
	}
	return 0;
}
3、

 

 

#include stdafx.h


int _tmain(int argc, _TCHAR* argv[])
{
	int a,b,c;
	puts(輸入三邊長度(a,b,c):
);
	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] == ''; 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] = '';
		}
	}
	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] != '' );


	if (start < 0 || len < 0 || start > l_src ++)
	{
		dst[0] = '';
	}
	else
	{
		for ( dst_index = 0; dst_index < len; dst_index++)
		{
			dst[dst_index] = src[src_index + start];
			if (src[src_index] != '')
			{
				src_index++;
			}
		}
	}
}

7、

 

 

void deblank(char string[])
{
	char copy_str[] = {''};

	int str_index, copy_str_index, temp = 0;
	for ( str_index = 0; string[str_index] != ''; 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++] = '';
	for ( copy_str_index = 0; copy_str[copy_str_index] != ''; copy_str_index++)
	{
		string[copy_str_index]= copy_str[copy_str_index];
	}
	string[copy_str_index + 1] = '';
}


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved