好文档 - 专业文书写作范文服务资料分享网站

C primer plus课后编程练习答案

天下 分享 时间: 加入收藏 我要投稿 点赞

printf(\

printf(\ return(0); }

int get_int(void) input again.\\n\ }

while ( getchar() != '\\n'); return num; }

9.编写一个程序,接受一个整数输入,然后显示所有小于或等于该数的素数。

#include<>

int isprime(int);

int main(void) {

int num,i;

printf(\ scanf(\

printf(\ for(i=2;i<=num;i++) if( isprime(i) ) printf(\ printf(\ return(0); }

int isprime(int n) 1988年United States Federal Tax Schedule是近期最基本的。它分为4类,每类有两个等级。下面是其摘要;美元数为应征税的收入。

┏━━━━━━┳━━━━━━━━━━━━━━━━━━┓

┃ 种 类 ┃ 税 金 ┃ ┣━━━━━━╋━━━━━━━━━━━━━━━━━━┫

┃单身 ┃前17·850美元按15%,超出部分按28% ┃ ┣━━━━━━╋━━━━━━━━━━━━━━━━━━┫ ┃户主 ┃前23,900美元按15%,超出部分按28%┃ ┣━━━━━━╋━━━━━━━━━━━━━━━━━━┫

┃已婚,共有 ┃前29,750美元按15%,超出部分按28% ┃ ┣━━━━━━╋━━━━━━━━━━━━━━━━━━┫ ┃已婚,离异 ┃前14,875美元按l5%,超出部分按28% ┃ ┗━━━━━━┻━━━━━━━━━━━━━━━━━━┛

例如,有20 000美元应征税收入的单身雇佣劳动者应缴税金×17 850美元+×(20 000美元-17 850美元)。编写一个程序,让用户指定税金种类和应征税收入,然后计算税金。使用循环以便用户可以多次输入。

#include<>

#define SINGLE 17850 #define HOST 23900

#define MARRIED_SHARE 29750 #define MARRIED_DIVORCE 14875 #define RATE1 #define RATE2

int main(void) {

double type,pay,tax; char ch; while(1) {

printf(\

printf(\ while((ch = getchar()) == '\\n') continue; lf\\n\ } }

11. ABC Mail Order Grocery朝鲜蓟的售价是美元/磅,甜菜的售价是美元/磅,胡萝卜的售价是美元/磅。在添加运输费用之前,他们为100美元的订单提供5%的打折优惠。对5磅或以下的定单收取美元的运输和装卸费用;超过5磅而不足20磅的定单收取美元的运输和装卸费用:加磅或以上的运输,在8美元基础上每磅加收美元。编写程序,在循环中使用switch语句,以便对输入a的响应是让用户输入所需的朝鲜蓟磅数,b为甜菜的磅数,c为胡萝卜的磅数,而q允许用户退出订购过程。然后程序计算总费用、折扣和运输费用(如果有运输费的话),以及总数。随后程序应该显示所有的购买信息:每磅的费用、订购的磅数、该订单每种蔬菜的费用、订单的总费用、折扣,如果有的话加上运输费用,以及所有费用的总数。

#include <>

#include <> f\\n\ printf(\ printf(\ printf(\

printf(\

while( ( ch = tolower( getchar() ) ) != 'q') f\\n\ if (artichoke + beet + carrot <= 5) freight = ; else if (artichoke + beet + carrot <20) freight = 10; else freight = 8 + (artichoke + beet + carrot) * ; printf(\ sum = sum - discount + freight; printf(\ return 0; }

第8章 字符输入/输出和输入确认 编程练习

下面的一些程序要求输入以EOF终止。如果您的操作系统难以使用或不能使用重定向,则使用一些其他的判断来终止输入,例如读取&字符。

1.设计一个程序,统计从输入到文件结尾为止的字符数。

#include <>

int main(void) { int i;

for(i=0; getchar() != EOF; i++); printf(\ return 0; }

2.编写一个程序,把输入作为字符流读取,直到遇到EOF。令该程序打印每个输入字符及其ASCII编码的十进制值。注意在ASCII序列中空格字符前面的字符是非打印字符,要特殊处理这些字符。如果非打印字符是换行符或制表符,则分期打印\\n或\\t。否则,使用控制字符符号。例如,ASCII的l是Ctrl+A,可以显示为AA。注意A的ASCⅡ值是Ctrl+A的值加64。对其他非打印字符也保持相似的关系。除去每次遇到一个换行符时就开始一个新行之外,每行打印10对值。

#include <>

int main(void) { char ch; int i;

for(i=1; (ch=getchar()) != EOF; i++) {

if (ch >= ' ' || ch == '\\n' || ch == '\\t') printf(\ else printf(\ printf(\

if(i%8 == 0) printf(\ }

return 0; }

3.编写一个程序,把输入作为字符流读取,直至遇到EOF。令其报告输入中的大写字母个数和小写字母个数。假设小写字母的数值是连续的,大写字母也是如此。或者你可以使用ctypc,h库中的合适的函数来区分大小写。

#include <> #include <>

int main(void)

{ char ch;

int lower=0,upper=0;

while ( (ch=getchar()) != EOF ) {

if ( islower(ch) ) lower++; if ( isupper(ch) ) upper++; }

printf(\

return 0; }

4.编写一个程序,把输入作为字符流读取,直至遇到EOF。令其报告每个单词的平均字母数。不要将空白字符记为单词中的字母。实际上,标点符号也不应该计算,但现在不必考虑这一点(如果您想做得好一些,可以考虑使用系列中的ispunct()函数)。

#include <> #include <>

int main(void) {

int num=0; char ch; bool word=0;

while ( (ch=getchar()) != EOF ) {

if ( isalpha(ch) && !word ) {

word = 1; num++; }

if ( !isalpha(ch) ) {

word = 0; } }

printf(\

return 0;

C primer plus课后编程练习答案

printf(\printf(\return(0);}intget_int(void)inputagain.\\n\}while(getchar()!='\\n');returnnum;}9.编写一个程序,接受一个整数输入,然后显示所有小于或等于该数的素数。
推荐度:
点击下载文档文档为doc格式
71jbn2y8ep47ty70kclt55mbv23ri50056i
领取福利

微信扫码领取福利

微信扫码分享