国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C Primer Plus第九章編程練習(xí)答案

這篇具有很好參考價值的文章主要介紹了C Primer Plus第九章編程練習(xí)答案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

學(xué)完C語言之后,我就去閱讀《C Primer Plus》這本經(jīng)典的C語言書籍,對每一章的編程練習(xí)題都做了相關(guān)的解答,僅僅代表著我個人的解答思路,如有錯誤,請各位大佬幫忙點出!

1.設(shè)計一個函數(shù)min(x, y),返回兩個double類型值的較小值。在一個簡單 的驅(qū)動程序中測試該函數(shù)。

#include <stdio.h>
double Min(double x, double y)
{
	return x > y ? y : x;
}
int main(void)
{
	double min_num = Min(20.0, 15.0);
	printf("min_num : %lf\n", min_num);

	min_num = Min(15.0, 20.0);
	printf("min_num : %lf\n", min_num);

	return 0;
}

C Primer Plus第九章編程練習(xí)答案

2.設(shè)計一個函數(shù)chline(ch, i, j),打印指定的字符j行i列。在一個簡單的驅(qū) 動程序中測試該函數(shù)。

#include <stdio.h>
void chline(char ch, int i, int j)
{
	for (int m = 0; m < i; m++)
	{
		for (int n = 0; n < j; n++)
		{
			printf("%c ", ch);
		}
		printf("\n");
	}
}
int main(void)
{
	char ch = '0';
	int i = 0, j = 0;

	printf("請輸入一個字符:");
	scanf("%c",&ch);

	printf("請輸入行數(shù):");
	scanf("%d", &i);
	printf("請輸入列數(shù):");
	scanf("%d", &j);

	chline(ch, i, j);

	return 0;
}

C Primer Plus第九章編程練習(xí)答案

3.編寫一個函數(shù),接受3個參數(shù):一個字符和兩個整數(shù)。字符參數(shù)是待 打印的字符,第1個整數(shù)指定一行中打印字符的次數(shù),第2個整數(shù)指定打印指 定字符的行數(shù)。編寫一個調(diào)用該函數(shù)的程序。

#include <stdio.h>
void chline(char ch, int i, int j)
{
	for (int m = 0; m < j; m++)
	{
		for (int n = 0; n < i; n++)
		{
			printf("%c ", ch);
		}
		printf("\n");
	}
}
int main(void)
{
	char ch = '0';
	int i = 0, j = 0;

	printf("請輸入一個字符:");
	scanf("%c",&ch);

	printf("請輸入一行中打印字符的個數(shù):");
	scanf("%d", &i);
	printf("請輸入指定打印字符的個數(shù):");
	scanf("%d", &j);

	chline(ch, i, j);

	return 0;
}

C Primer Plus第九章編程練習(xí)答案

4.兩數(shù)的調(diào)和平均數(shù)這樣計算:先得到兩數(shù)的倒數(shù),然后計算兩個倒數(shù) 的平均值,最后取計算結(jié)果的倒數(shù)。編寫一個函數(shù),接受兩個double類型的 參數(shù),返回這兩個參數(shù)的調(diào)和平均數(shù)。

#include <stdio.h>
double Reconcile_the_average(double d1, double d2)
{
	return 1.0 / ((1.0 / d1 + 1.0 / d2) / 2.0);
}
int main(void)
{
	double ret = Reconcile_the_average(3.0,4.0);
	printf("ret : %lf\n", ret);

	ret = Reconcile_the_average(4.0, 5.0);
	printf("ret : %lf\n", ret);
	
	return 0;
}

C Primer Plus第九章編程練習(xí)答案

5.編寫并測試一個函數(shù)larger_of(),該函數(shù)把兩個double類型變量的值替 換為較大的值。例如, larger_of(x, y)會把x和y中較大的值重新賦給兩個變 量。

#include <stdio.h>
void larger_of(double* d1,double* d2)
{
	if (*d1 > *d2)
		*d2 = *d1;
	else
		*d1 = *d2;
}
int main(void)
{
	double d1 = 1.0, d2 = 2.0, d3 = 3.0,d4 = 4.0;

	printf("d1 = %lf,d2 = %lf d3 = %lf,d4 = %lf\n", d1, d2, d3, d4);
	larger_of(&d1, &d2);
	larger_of(&d3, &d4);
	printf("d1 = %lf,d2 = %lf d3 = %lf,d4 = %lf\n", d1, d2, d3, d4);

	return 0;
}

C Primer Plus第九章編程練習(xí)答案

6.編寫并測試一個函數(shù),該函數(shù)以3個double變量的地址作為參數(shù),把最 小值放入第1個函數(shù),中間值放入第2個變量,最大值放入第3個變量。

#include <stdio.h>
void sort(double* d1, double* d2, double* d3)
{
	double temp = 0.0;
	if (*d1 > *d2)
	{
		temp = *d1;
		*d1 = *d2;
		*d2 = temp;
	}
	if (*d1 > *d3)
	{
		temp = *d1;
		*d1 = *d3;
		*d3 = temp;
	}
	if (*d2 > *d3)
	{
		temp = *d2;
		*d2 = *d3;
		*d3 = temp;
	}
}
int main(void)
{
	double d1 = 2.0, d2 = 3.0, d3 = 1.0;

	printf("排序前:d1 = %lf,d2 = %lf,d3 = %lf\n", d1, d2, d3);
	sort(&d1, &d2, &d3);
	printf("排序后:d1 = %lf,d2 = %lf,d3 = %lf\n", d1, d2, d3);

	return 0;
}

C Primer Plus第九章編程練習(xí)答案

7.編寫一個函數(shù),從標(biāo)準(zhǔn)輸入中讀取字符,直到遇到文件結(jié)尾。程序要 報告每個字符是否是字母。如果是,還要報告該字母在字母表中的數(shù)值位 置。例如,c和C在字母表中的位置都是3。合并一個函數(shù),以一個字符作為 參數(shù),如果該字符是一個字母則返回一個數(shù)值位置,否則返回-1。

#include <stdio.h>
#include <ctype.h>
int position(char ch)
{
	if (islower(ch))
		return ch - 'a' + 1;
	else if (isupper(ch))
		return ch - 'A' + 1;
	return -1;
}
void get_char_pos(void)
{
	char ch = '0';

	printf("請輸入一些字符:");
	while ((ch = getchar()) != EOF)
	{
		if (ch == '\n')
			continue;
		if (position(ch) != -1)
			printf("該字符是一個字母,且位于字母表第%d位\n", position(ch));
		else
		{
			printf("該字符不是一個字母\n");
		}

	}
}
int main(void)
{
	get_char_pos();

	return 0;
}

C Primer Plus第九章編程練習(xí)答案

8.第6章的程序清單6.20中,power()函數(shù)返回一個double類型數(shù)的正整數(shù) 次冪。改進(jìn)該函數(shù),使其能正確計算負(fù)冪。另外,函數(shù)要處理0的任何次冪 都為0,任何數(shù)的0次冪都為1(函數(shù)應(yīng)報告0的0次冪未定義,因此把該值處 理為1)。要使用一個循環(huán),并在程序中測試該函數(shù)。

#include <stdio.h>
double power(double n, int p)
{
    int i;
    double pow = 1.0;

    if ((0 == p) && (0 == n))
    {
        printf("0 to the 0 undefined, using 1 as the value.\n");
        return pow;
    }
    if (0 == n)
    {
        pow = 0.0;
        return pow;
    }
    if (0 == p)
    {
        return pow;
    }
    if (p > 0)
    {
        for (i = 1; i <= p; i++)
        {
            pow *= n;
        }
        return pow;
    }
    else
    {
        for (i = 1; i <= -p; i++)
        {
            pow *= 1 / n;
        }
        return pow;
    }
}
int main(void)
{
    double x, xpow;
    int exp;

    printf("Enter a number and the integer power");
    printf(" to which\nthe number will be raised. Enter q");
    printf(" to quit.\n");
    while (scanf("%lf%d", &x, &exp) == 2)
    {
        xpow = power(x, exp);
        printf("%.3g to the power %d is %.5g.\n", x, exp, xpow);
        printf("Enter next pair of numbers or q to quit.\n");
    }
    printf("Hope you enjoyed this power trip -- bye!\n");

    return 0;
}

C Primer Plus第九章編程練習(xí)答案

9.使用遞歸函數(shù)重寫編程練習(xí)8。

#include <stdio.h>
double power(double n, int p)
{
    double pow = 1.0;

    if ((0 == p) && (0 == n))
    {
        printf("0 to the 0 undefined, using 1 as the value.\n");
        return pow;
    }
    if (0 == n)
    {
        pow = 0.0;
        return pow;
    }
    if (0 == p)
    {
        return pow;
    }
    if (p > 0)
    {
        return n * power(n, p - 1);
    }
    else
    {
        return power(n, p + 1) / n;
    }
}
int main(void)
{
    double x, xpow;
    int exp;

    printf("Enter a number and the integer power");
    printf(" to which\nthe number will be raised. Enter q");
    printf(" to quit.\n");
    while (scanf("%lf %d", &x, &exp) == 2)
    {
        xpow = power(x, exp);
        printf("%.3g to the power %d is %.5g.\n", x, exp, xpow);
        printf("Enter next pair of numbers or q to quit.\n");
    }
    printf("Hope you enjoyed this power trip -- bye!\n");

    return 0;
}

C Primer Plus第九章編程練習(xí)答案

10.為了讓程序清單9.8中的to_binary()函數(shù)更通用,編寫一個to_base_n() 函數(shù)接受兩個在2~10范圍內(nèi)的參數(shù),然后以第2個參數(shù)中指定的進(jìn)制打印第 1個參數(shù)的數(shù)值。例如,to_base_n(129, 8)顯示的結(jié)果為201,也就是129的 八進(jìn)制數(shù)。在一個完整的程序中測試該函數(shù)。

#include <stdio.h>
void to_base_n(int x, int base)
{
    int r;

    r = x % base;
    if (x >= base)
    {
        to_base_n(x / base, base);
    }
    printf("%d", r);
    return;
}
int main(void)
{
    int b;
    long int n;

    printf("Please enter a number (q to quit): ");
    while (scanf("%ld", &n) == 1)
    {
        if (n <= 0)
        {
            printf("Illegal data! Please enter again: ");
            continue;
        }
        printf("Please enter a base system number (2 - 10): ");
        while (scanf("%d", &b) != 1 || (b < 2 || b > 10))
        {
            while (getchar() != '\n')
                continue;
            printf("Please enteragain (2 - 10): ");
        }
        printf("%d in %d base system is: ", n, b);
        to_base_n(n, b);
        printf("\nYou can enter a number again (q to quit): ");
    }
    printf("Done.\n");

    return 0;
}

C Primer Plus第九章編程練習(xí)答案

11.編寫并測試Fibonacci()函數(shù),該函數(shù)用循環(huán)代替遞歸計算斐波那契 數(shù)。

#include <stdio.h>
void Fibonacci(int len)
{
    int i;
    unsigned long t, x, y;
    x = y = 1;

    for (i = 0; i < len; i++)
    {
        printf("%lu\n", x);
        t = x + y;
        x = y;
        y = t;
    }
    return;
}
int main(void)
{
    int n;
    printf("Please enter a integer (<= 0 or q to quit): ");
    while (scanf("%d", &n) == 1)
    {
        printf("Top %d items of Fibonacci sequence:\n", n);
        Fibonacci(n);
        printf("You can enter again (<= 0 or q to quit): ");
    }
    printf("Done.\n");

    return 0;
}

C Primer Plus第九章編程練習(xí)答案文章來源地址http://www.zghlxwxcb.cn/news/detail-461833.html

到了這里,關(guān)于C Primer Plus第九章編程練習(xí)答案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • C Primer Plus第十四章編程練習(xí)答案

    C Primer Plus第十四章編程練習(xí)答案

    學(xué)完C語言之后,我就去閱讀《C Primer Plus》這本經(jīng)典的C語言書籍,對每一章的編程練習(xí)題都做了相關(guān)的解答,僅僅代表著我個人的解答思路,如有錯誤,請各位大佬幫忙點出! 由于使用的是命令行參數(shù)常用于linux系統(tǒng)或者vscode,但此代碼是運行于vs2022的,測試截圖就不弄了。

    2024年02月07日
    瀏覽(46)
  • C Primer Plus第十六章編程練習(xí)答案

    C Primer Plus第十六章編程練習(xí)答案

    學(xué)完C語言之后,我就去閱讀《C Primer Plus》這本經(jīng)典的C語言書籍,對每一章的編程練習(xí)題都做了相關(guān)的解答,僅僅代表著我個人的解答思路,如有錯誤,請各位大佬幫忙點出! 由于使用的是命令行參數(shù)常用于linux系統(tǒng)或者vscode,但此代碼是運行于vs2022的,測試截圖就不弄了。

    2024年02月07日
    瀏覽(35)
  • C++ Primer第五版_第九章習(xí)題答案(51~52)

    練習(xí)9.51 設(shè)計一個類,它有三個unsigned成員,分別表示年、月和日。為其編寫構(gòu)造函數(shù),接受一個表示日期的string參數(shù)。你的構(gòu)造函數(shù)應(yīng)該能處理不同的數(shù)據(jù)格式,如January 1,1900、1/1/1990、Jan 1 1900 等。

    2023年04月11日
    瀏覽(25)
  • C Primer Plus (中文版)第10章編程練習(xí) 參考答案(僅供參考~)

    ?? C Primer Plus第10章編程練習(xí)~ 加油加油!?? ??歡迎大家討論 批評指正~ ??1.修改程序清單10.7的rain.c程序,用指針進(jìn)行計算(仍然要聲明并初始化數(shù)組)。計算每年的總降水量、年平均降水量和5年中每月的平均降水量 ??編寫一個程序,初始化一個double類型的數(shù)組,然后把

    2024年02月04日
    瀏覽(18)
  • C Primer Plus 第6版 編程練習(xí) chapter 16

    C Primer Plus 第6版 編程練習(xí) chapter 16

    開發(fā)一個包含你需要的預(yù)處理定義的頭文件。 test.c diceroll.h 兩個數(shù)的調(diào)和平均數(shù)這樣計算:先得到兩數(shù)的倒數(shù),然后計算兩個倒數(shù)的平均值,最后取計算結(jié)果的倒數(shù)。使用#define指令定義一個宏函數(shù),,執(zhí)行該運算。編寫一個簡單的程序測試該宏。 極坐標(biāo)向量的模(即向量的

    2024年01月19日
    瀏覽(25)
  • C Primer Plus(第六版)12.9 編程練習(xí) 第5題

    #include stdlib.h ? #include stdio.h ? #include time.h ? #define TIMES 100 void bubble_sort(int arr[], int len); int main (void) { ?? ?int i; ?? ?int roll[TIMES]; ?? ?srand((unsigned int)time (NULL)); ?? ?for(i=0;iTIMES;i++) ?? ?{ ?? ??? ?roll[i] = rand()%10+1 ; ?? ??? ?printf(\\\"roll[%d]=%dn\\\",i,roll[i]); ?? ?} ?? ?bubble_s

    2024年01月20日
    瀏覽(23)
  • C++ Primer (第五版)-第九章 順序容器

    C++ Primer (第五版)-第九章 順序容器

    如何選擇合適的容器 迭代器 容器類型成員 列表初始化 賦值和Swap 容器的大小 關(guān)系運算符 9.3.1向順序容器添加元素 訪問元素 刪除元素 改變?nèi)萜鞔笮?### 容器操作可能使迭代器失效 9.5.2、改變string其他的方法 9.5.3 string搜索操作

    2023年04月17日
    瀏覽(26)
  • C Primer Plus(第六版)16.18 編程練習(xí) 第7題

    #include stdio.h #include stdlib.h #include stdarg.h void show_array(const double ar[] ,int n) ; double * new_d_array(int n, ...) ; int main () { ?? ?double * p1; ?? ?double * p2; ?? ?p1 = new_d_array(5, 1.2,2.3, 3.4, 4.5, 5.6); ?? ?p2 = new_d_array(4, 100.0, 20.00, 8.08, -1890.0); ?? ?show_array(p1,5); ?? ?show_array(p2,4); ?? ?free(p1)

    2024年02月21日
    瀏覽(22)
  • C Primer Plus(第六版)13.11 編程練習(xí) 第11題

    /* 編寫一個程序,接受兩個命令行參數(shù)。第1個參數(shù)是一個字符串,第2個參數(shù)是一個文件名。然 后該程序查找該文件,打印文件中包含該字符串的所有行。因為該任務(wù)是面向行而不是面向字符 的,所以要使用fgets()而不是getc()。使用標(biāo)準(zhǔn)C庫函數(shù)strstr() (11.5.7節(jié)簡要介紹過) 在每

    2024年01月24日
    瀏覽(24)
  • C Primer Plus(第六版)13.11 編程練習(xí) 第10題

    /* 編寫一個程序打開一個文本文件,通過交互方式獲得文件名。通過一個循環(huán),提示用戶輸入一個 文件位置。然后該程序打印從該位置開始到下一個換行符之前的內(nèi)容。用戶輸入負(fù)數(shù)或非數(shù)值字 符可以結(jié)束輸入循環(huán)。 */ //13.11-10.txt #include stdio.h #include stdlib.h #define MAX 41 int

    2024年01月24日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包