文档详情

[C语言上机实验题.doc

发布:2017-01-21约6.12千字共12页下载文档
文本预览下载声明
第六章 #includestdio.h void main() {int i,j; clrscr(); /* 清屏 */ for(i=1;i=9;i++) /* 行循环 */ {for(j=1;j=9-i;j++) /* 输出行左空格*/ printf( ); for(j=1;j=2*i-1;j++) /* 输出若干* 字符 */ printf(%c,*); printf(\n); /* 换行 */ } } 实验五 寻找素数 【实验目的】 领会并牢固掌握素数算法,深入循环结构设计。 【实验内容】 从键盘输入一个大于3的正整数,输出距离该数最近的素数。根据输入的数不同,此问题可能有一个答案(或者比输入的数大或者比输入的数小),也可能需要输出两个值(一个比输入的数大,一个比输入的数小,两个距离输入的数一样近)。程序以6_5.c命名并上交。 实验六 不等式求解 【实验目的】 学习在循环中使用break控制语句。 【实验内容】 键盘输入一个数给m,计算并返回满足表达式:1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+……+n)=m最大的n。例如,当m=10000时,程序输出:n=38。程序以6_6.c命名并上交。 【提示】 参考解法: for(i=1;1;i++) /* 循环条件为恒真 */ {计算(1+2+3+……+i)?s; 将计算结果s累加到变量sum中; 判断sum的值是否大于m 是,则终止循环 否,则继续进入下一次循环 } 输出与对应结果,其值会与i相关。 实验七 统计字数 【实验目的】 学习使用循环处理字符串相关问题。 【实验内容】 完善以下程序6_7.C 。程序任务:输入一串字符,以“#”作为输入结束标志,显示其中字母与数字字符的个数。 #includestdio.h void main() {int ch_num,dig_num; char ch; ch_num=dig_num=0; do{ch=getchar(); /* 完善程序,统计52个英文字母与十个数字字符的个数 */ }while(__________); /* 给出循环条件 */ printf(The number of chars is:%d\n,ch_num); printf(The number of digital is:%d\n,dig_num); } 实验八 礼炮响声统计 【实验目的】 学习循环中条件的设计与数据统计。 【实验内容】 活动中有三门礼炮,各装有十枚炮弹。第一门礼炮每隔3秒发一枚炮弹,第二门每隔5秒、第三门每隔7秒发一枚炮。问观礼群众一共听到几声炮响。同一时间发出炮声算一响。程序以6_8.c命名并上交 。 【实验提示】 程序中可分别设置计时器变量与计数器变量。计时器以秒为单位递增,测试此时有无炮发出。只要有一枚炮发出,则计数器增1。注意不要重复统计。 实验九 验证哥德巴赫猜想 【实验目的】 综合运用多重循环结构、标志法、穷举法解决问题。 【问题描述】 1742年6月,德国数学家哥德巴赫在给大数学家欧拉的信中提出一个问题:任何大于4的偶数均可以表示为两个素数之和吗?欧拉复信道:任何大于4的偶数均可以表示为两个素数之和,这一猜想我还不能证明,但我确信无疑地认为这是完全正确的定理。 哥德巴赫猜想是世界著名的数学难题,至今未能在理论上得到证明,自从计算机出现后,人们就开始用计算机去尝试解各种各样的数学难题,包括费马大定理、四色问题、哥德巴赫猜想等,虽然计算机无法从理论上严密地证明它们,只能在有限的范围内对其进行检验,但也不失其意义。 【实验内容】 程序要求:输入一个int型数据范围内的偶数x(x4),找到两个素数a、b,满足 x=a+b。最后输出此等式。如输入98,输出98=19+79。程序以6_9.c命名。 【实验提示】 读入偶数x,找出一对数a、b满足x=a+b,测试a、b是否都为素数,若不满足,则找下一对a、b继续测试,直到a、b均为素数为止。算法描述如下: 读入x; a=3; while(ax/2) {b=x-a; 测素数循环,测试a是否为素数; 测素数循环,测试b是否为素数; if(a、b同为素数) 退出while循环; a+=2; /* a在奇数上穷举 */ } if(ax/2) 验证成功,输出x=a+b; else 验证失败,输出失败信息; 为了判断a、b是否是素数,可以设置两个二元标志变量flag_a和flag_b,其值为1时表示对应变量是素数,其值为0时表示变量是非素数。令flag_a和flag_
显示全部
相似文档