[C语言上机实验题.doc
文本预览下载声明
第六章
#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_
显示全部