C程序设计作业(赵教材)
2.12写出以下表达式的求值结果。设int a3,b-2,c4,d0; 6 0123115 ab|cAd119 106|5a 3.10以下程序的功能是输入10个字符,如果输入的是数字字符0,则输出字 符*;如果是数字字符1〜9,则原样输出;如果输入的是其他字符侧不输出, 但要求用变量s累加计算它们的ASCII码平方和。全部字符输入结束后,输出 s的值。有的同学写了一个程序,编译完全正确,但无法得到所要求的结果,请 帮助这位同学改正程序中的问题。 includestdio.h main { char c,i,s; foril;i10;i; { cgetchar; if T c4 9 putcharc; if c O putchar *; else sc*c; printf\nsd\n,s; } } 3.11编写一个程序,使它能够将用户输入的4个整数按大小次序排列。 main { int a,b,c,d,t; scanf%d, d, d, d,a, b, c, d; ifab {ta;ab;bt;} ifac {ta;ac;ct;} ifad {ta;ad;dt;} ifbc {tb;bc;ct;} ifbd {tb;bd;dt;} ifcd {tc;cd;dt;} printfd, d, d, d”, a, b, c, d; } 3.12企业放发的资金根据利润提成。设企业的利润为/,提成标准如下 *10万元时,提成10; 10万元 /20万元时,低于10万元部分仍按10提成,高于10万元部分按 7.5提成; 20万元/40万元时,低于20万元部分按前面方法提成,高于20万元部分按 5提成; 40万元 /W60万元时,低于40万元部分按前面方法提成,高于40万元部分按 3提成; 60万元</W100万元时,低于60万元部分按前面方法提成,高于60万元部分 按1.5提成; 100万元< 1时,低于100万元部分按前面方法提成,高于100万元部分按1 提成。 编程输入利润/,计算输出提成金额。 1 用if语句求解。 2 用switch语句求解。 3.14编程输出1个周期的余弦函数cos x的值,要求每隔丸/20输出一个函数 值。 3.15编程输出以下计算结果。 0.02 0.22 0.42 0.62 0.82 1.02 1.22 1.42 1.62 1.82 1.92 2.02 3.18输入1个正长整数,按相反次序输出该整数的各位数字。 比如,输入为35076,输出是67053o main {long n; int c; scanfd,n; whilen0 {printf”%ld”,n10; n/10; C; 3.19编写一个决定学生成绩的程序。这个程序将读入一个学生的3次考试成 绩0〜100,然后计算其平均值,并根据这个平均值决定学生的总成绩用字 母A、B、C、D、F来表示。字母成绩如下规定来确定 A平均成绩在90或90分以上; B平均成绩在80或89分; C平均成绩在70或79分; D平均成绩在60或69分; F平均成绩在60分以下。 程序在显示了一个学生的字母后,将继续对下一个学生的成绩进行处理, 直到用户输入的学生成绩为负数时停止。 4.4根据本章打印杨辉三角形例题中组合数的递推计算方法计算组合数C;,要求输入n、 m值,输出组合数。程序中应对输入的n、m有效性进行检查。 解 厂 1m0 C;Y 尸 mo m include “stdio.h” void main { int n,m,k,c; printf n m,;scanf,dd,n,m; ifn-mm mn-m; cl; fork 1 ;km;k cc*n-kl/k; printfCcd\n,c; } 4.5输入x的值,计算 357 ./ 、XXX s sinx x11 357 要求计算到最后一项绝对值小于IO时停止计算 臭m 解令 ssin x, ak -1 2 一 , kl, 3, 5,...贝 I妇Jk r xkl x kk 1 *2 k3, 5, 7, include stdio.h include math.h” void main double s,x,a;int k; printfn x,;scanf,lf,,x; ax;s0;kl; whilefabsa 1 e-6{ sa;k2;a*-x*x/k/k-1;} printfsin.4f.4f\n,x,s; } 4.6用公式兰 2x2xxx...x卫一x卫一x...计算丸近似值,计算时取1000个因子 21 3 3 5 2n-l 2n 1 解 include stdio.h void main int n;double pil; forn2;n2000;n2 pi*doublen*n/n-1 /n1; pi*2; printfnpif\nH,pi; 234 4.8输入x值(lxll) 5 x o要求计算到最后一项绝对值小于10-6时停 234 止计算 解 include stdio.h” include math.h void main float x,s,a;int k; printfn x”;scanf”%f”,x; ifx-lllxl printf is not correct.\n;return; ax;s0;kl; whilefabsa 1 e-6 sa/k;a*x;k; } printfns.4f\nn,s; 4.13韩信点兵有兵一队,五伍剩一,六伍剩五,七伍剩四,十一伍剩十,问兵几何 解 include stdio.h” void main int m; forml ;ml 0000;m ifm5 1 m65 m74m 1110 printfnmd\nn,m; } 1万以内的解有4个即2111, 4421, 6721, 904