2
+ x3- x4 +…… -x2n + x2n+1……的值。当某
项的绝对值小于10-6时终止。(当x为0.5时,和值为0.333334)
【系统函数fabs(x)的功能是计算x的绝对值,前面需加math . h头文件】
3.一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。编程计算:“它在第10次落地后,反弹多高”;“从第一次落下到第十次反弹,总共经过了多少米”。 (结果:反弹0.097656,共299.707031) 4.将1元人民币兑换成1分、2分、5分硬币,输出所有的兑换结果,并将结果保留到E盘文本文件rmb.txt中。(你能统计出一共有多少种兑换结果吗?) 【要求输出结果如下所示】 1分:0,2分:0,5分:20 ……
1分:0,2分:25,5分:10 ……
1分:100,2分:0,5分:0 【文件使用“五部曲”见最后!】
5.模仿下列“蓝色例题”,编程输出形如下图的平行四边形。 【要求:行数、每行星号数(即列数)由键盘输入。】
【提示:使用双重循环完成此题。外循环控制行数、内循环控制每行的空格数和星号数,每行输出的空格数比前一行少一个。】 ******
****** ****** ******
以下程序输出形如下图的平行四边形。 ******
****** ****** ******
#include main() {int i, j, k; int H, L;
scanf(\
for(i=1; i<=H; i++) /*控制输出H行*/
{for(k=1; k<=i; k++)printf(\ /*每行输出若干个空格,每行比前一行多输出一个空格*/ for(j=1; j<=L; j++)printf(\ /*每行输出L个星号*/ printf(\ /*每行最后换行*/ } }
二、完善题
以下程序的功能是:任意读入一个长整型数据,然后依次从低位到高位输出其每一位数位上的数字,最后输出其符号位,若为0,则不输出符号位,而输出“Is 0!”【注意:每空只能填一个语句或表达式,但语句的分号题目已给出。】例如:读入的数据为-3265478,则输出为:
8 7 4 5 6 2 3 -
#includemain() {long x, y; char fh;
printf(\ _________________;
y=x; /*用y保留住x的原值*/ if(x<0)
{fh='-'; _________;}
else
fh='+';
printf(\ do
{printf(\ /* 注意x的作用!*/ x=x/10;
}while(x!=0); /*思考:为什么用直到型循环?*/ if(________)
printf(\ else
printf(\}
【实验二参考答案】 编程题:
1.给班主任编写一个小程序:当输入的学生成绩介于90到100分时,输出等级字符A;当输入的学生成绩介于80到89分时,输出等级字符B;当输入的学生成绩介于70到79分时,输出等级字符C;当输入的学生成绩介于60到69分时,输出等级字符D;当输入的学生成绩小于60分时,输出等级字符E。 【要求用两种方法完成本题:方法一使用多分支if语句,文件名为11.c;方法二使用switch语句(此方法为附加题,文件名为12.c。提示---先弄懂课堂例题“铅笔打折”的switch写法)】 【方法1:if】 #includemain() {int fs;
printf(\ scanf(\ if(fs<60) printf(\ else if(fs<70)
printf(\ else if(fs<80)
printf(\ else if(fs<90)
printf(\ else printf(\ }
【方法2:switch】 #includemain() {int fs;
printf(\ scanf(\ switch(fs/10)
{case 10:
case 9: printf(\ case 8: printf(\ case 7: printf(\ case 6: printf(\
default: printf(\ } }
2.以下程序完成的功能是:任意读入一个整数,如果是非负数,则进一步判断其是否为奇数,是就将字符型变量flag的值修改为' J'(代表奇数的意思);如果不是非负数,则将flag的值修改为'F '(代表负数的意思),最后输出flag的值。【程序的开头、结束部分已给出,请将中间红色省略号部分改为合适的语句】 #includemain() {int x;
char flag='O'; /* 大写字母O,代表偶数的意思 */ scanf(\
……
printf(\}
#includemain() {int x;
char flag='o'; /*小写字母o,代表偶数的意思*/ scanf(\
if(x>=0)
{if(x%2!=0)
flag='j';} /*用{}取消内if的配对资格*/ else
flag='f';
printf(\}
11111????...?35799的和。3.编程求出(值约为2.937775)
11111????...?35799,请编程求该式之和。【附加题:将上式改为(值约为0.780399)】
#include
main()
{int i; float s=0; i=1;
while(i<=99) {s=s+1.0/i; i=i+2; }
printf(\