C语言实验报告(3)

2020-02-21 17:37

实验总结:本次实验的问题大都是数学问题,思路比较清楚,但调试程序比较

麻烦,对printf语句不是很熟悉。

实验序号: 第 5 次实验 实验名称:循环结构程序设计 实验目的:

(1)熟练掌握用while语句、do??while语句实现循环的方法。

(2)掌握在程序中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 (3)进一步学习调式程序。

实验内容:

第一题:

输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。 在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符个数。 代码:

①#include int main() {

char c;

int letters=0,space=0,digit=0,other=0; printf(\请输入一行字符:\\n\ while((c=getchar())!='\\n') {

if (c>='a' && c<='z' || c>='A' && c<='Z') letters++; else if (c==' ') space++;

else if (c>='0' && c<='9') digit++; else other++; }

printf(\字母数:%d\\n空格数:%d\\n数字数:%d\\n其它字符数:%d\\n\ return 0; } ②

#include int main() {

char c;

int capital=0,lowercase=0,space=0,digit=0,other=0; printf(\请输入一行字符:\\n\ while((c=getchar())!='\\n') {

if (c>='A' && c<='Z') capital++; else if(c>='a' && c<='z') lowercase++; else if (c==' ') space++;

else if (c>='0' && c<='9') digit++; else other++; }

printf(\大写:%d\\n小写:%\\n空格数:%d\\n数:%d\\n\ return 0; }

数字数:%d\\n其它字符

运行结果:①

修改后运行的结果

第二题:

输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如:153是一水仙花数,因为153=1^3+5^3+3^3. 代码:

#include

int main() {

int i,j,k,n;

printf(\ for (n=100;n<1000;n++) {

i=n/100; j=n/10-i*10; k=n;

if (n==i*i*i + j*j*j + k*k*k) printf(\ }

printf(\ return 0; }

运行结果:

结果说明:水仙花数是153,370,371,407 第三题:

猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的猴子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想在吃时,见只剩一个桃子了。求第1天共摘了多少桃子。 代码:

①#include int main() {

int day,x1,x2; day=9; x2=1;

while(day>0)

{x1=(x2+1)*2; /*第1天的桃子数是第2天桃子数加1后的2倍.*/ x2=x1; day--; }

printf(\ return 0; }

②#include int main() {

int day,x1,x2;

day=9; x2=1;

while(day>0)

{x1=(x2+2)*2; /*第1天的桃子数是第2天桃子数加1后的2倍.*/ x2=x1; day--; }

printf(\ return 0; }

运行结果:①

结果说明:第一天一共摘了1534个桃;

结果说明:第一天一共摘了2556个桃;

实验总结:程序比较容易想,思路清楚,且老师上课已经给出一些代码,所以

比较快完成这个实验。

实验序号: 第 6次实验 实验名称:数组 实验目的:

(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法。 (2)掌握字符数组和字符串函数的使用。

(3)掌握与数组有关的算法(特别是排序算法)。

实验内容:

第:一题:

用选择法对10个整数排序。10个整数用scanf函数输入。 代码:

#include int main()

{int i,j,min,temp,a[11];

printf(\ for (i=1;i<=10;i++) {printf(\ scanf(\ }

printf(\

printf(\ for (i=1;i<=10;i++) printf(\ printf(\

for (i=1;i<=9;i++) {min=i;

for (j=i+1;j<=10;j++) if (a[min]>a[j]) min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; }

printf(\ for (i=1;i<=10;i++) printf(\ printf(\ return 0; } ??

运算结果:

第二题:


C语言实验报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:播音技巧

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: