计算机科学与技术第3次上机实验,计算机科学与技术第3次上机实验.doc

《计算机科学与技术第3次上机实验.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《计算机科学与技术第3次上机实验.doc》文档请在天天文库搜索。

1、工程大学《程序设计基础》实验报告基础实践三姓 名: 麦豆 班 级: 学 号: 实验时间: 2018 年 4 月 26 日成绩工程大学计算机基础课程教学中心实验题目1:输入十个整数,输出其中的最大值和最小值.设计思想:利用数组将十个数存储,然后,先假设第一个为最大值或最小值,直接用循环对数组进行两个比较然后交换值,前一个始终保持为最大值或最小值,最后输出.实验代码及注释:#include int main(){ /*输入十个整数输出其中的最大值和最小值*/ /*直接用循环对数组进行两个比较然后交换值,前一个始终保持为最大值或最小值*/ int number[10];//声明数组 int i=0,j=0;// 计数变量 int min,max,middle[10];//最大值与最小值,同步数组 printf("请输入十个整数:"); for (i=0;i<=9;i++)//利用for循。

2、环将十个数存储在number数组中此数组用于最大值的比较 { scanf("%d",&number[i]);//注意其中0号为第一个数 middle[j]=number[i];//将输入的数同步存储到middle数组中用于最小值的比较 j++; } for (i=0;inumber[i+1]) { number[i+1]=number[i];//如果前一个数大于后一个数则将前一个数赋给后一个数同时将大值赋给max max=number[i+1]; } else { max=number[i+1];//后一个始终为最大值将其赋给max } } for (j=0;jmiddle[j+1]) { min=middle[j+1];//后一个始终为最小值将其赋给min } else { middle[j+1]=middle[j];//如果前一个数小于后一个数则将前一个数赋给后一个数同时将小值赋给mi。

3、n min=middle[j+1]; } } printf("最大值为:%d\t最小值为:%d\n",max,min); return 0;}验证与结论:总结与心得体会:比较大小一般会用到数组,常用方法是先假设第一个值为最大值或最小值,然后将其与其他值比较交换,最后得到最大值或最小值.实验题目2:猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天再想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?设计思想:声明x为前一天剩下桃子数,y为昨天早上吃完剩余桃子数,倒退可得x与y关系为x/2-1=y,利用循环可得第一天桃注意第十天早上猴子未吃故循环变量i<10实验代码及注释:#include int main(){ int x,y=1,i;//前一天剩下桃子数,昨天早上吃完剩余桃子。

4、数,倒退天数变量 for (i=1;i<10;i++)//第十天早上猴子未吃故i<10 { x=(y+1)*2;//倒推可得x/2-1=y y=x; } printf("第一天摘了%d个桃子\n",x); return 0;}验证与结论:总结与心得体会:先想好如何计算再写代码,另外循环条件必须得想清楚,真正吃了九天.实验题目3:输出以下图形*****H****e***l** l*o设计思想:倒序存储hello字符在数组中,用循环循环count次,当循环了count次,打印字符数组count-1号数组,同时count--,令i=0再次循环.最后输出整个图形.实验代码及注释:#include int main(){ int i,count=5;//i循环变量,count每行循环打印的*个数 char c[5]={'o','l','l','e','H'};//倒序存储hello字符 。

5、for (i=1;i<=count;i++)//循环count次 { printf("*"); if(i==count)//当循环了count次,打印字符数组count-1号数组,同时count--,令i=0再次循环. { printf("%c\n",c[count-1]); count--; i=0; } } return 0;}验证与结论:总结与心得体会:单个字符数组与字符串数组是有区别的,一般后者使用较多,也更为方便.实验题目4:求1~2000之间的所有完数.完数是指一个数恰好等于它的因子之和(除自身外),则称这个数为完数.设计思想:判断每个数是否为它的因子,利用数组将每个数的因数存进去,再计算因数和是否等于其本身,若等于则输出.实验代码及注释:#include #include //利用数组将每个数的因数存进去,再计算因数和是否等于其本身int main(){ int yin。

6、number[100];//因数存储数组 int i,j,k,a,sum,count;//外层数循环变量,整除因数,每个数,sum为加和数 yinnumber[0]=1;//考虑到因数1的特殊性(是所有数的因子),故将1赋于数组0号位 for(i=2;i<=2000;i++)//1不是完数故从2开始,同时i表示从2到2000数 { a=i;//将i值赋给a,a表示2到2000之间的一个数 count=1;//数组变量从1开始,0存储因子1 sum=0;//因数和每次初始化为0 for(k=1;k

7、unt;j++)//将所有因子求和 { sum=sum+yinnumber[j]; } if (sum==a)//判断因子和是否为本身 printf("%d\t",a); } return 0;}验证与结论:总结与心得体会:完数与求质数方法有点类似,求完数时用了yinnumber数组存储因子,最后将每个数因子求和判断是否等于本身.输出所有完数.实验题目5:打印所有水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身.例如:153=1^3+5^3+3^3.设计思想:个位数用十取余,百位数用100除,十位数十位数先除10再对10取余分别得到对其用pow函数进行三次方并判断是否等于本身实验代码及注释:#include #include #include /*打印所有水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身.例如:153=1^3+5^3+3^3.*/int 。

8、main(){ int i;//数字变量,个位数,十位数,百位数 double judje;//立方和 for(i=100;i<=999;i++) { judje=pow((double)(i/100),3.0)+pow((double)((i/10)%10),3.0)+pow((double)(i%10),3.0);//个位数用十取余,百位数用100除,十位数十位数先除10再对10取余 if(i==judje) { printf("%d\t",i); } } return 0;}验证与结论:总结与心得体会:最高位与最低位比较好取,但其余位数必须得除十取得.pow函数两项必须为double型,int型必须强制转换.附加题目:产生特定围一随机数,输入数据来输出是大还是小来猜数.最多猜十次.设计思想:用rand()来产生随机数,利用for循环=输入数据,判断输入是大还是小并输出.实验代码及注释:#include #include int main(){ int i,number,rand_number;//循环变量,输入的数,随机数 rand_number=rand(); printf("请输入0~50任意整数猜数仅可猜10次\n"); for (i=1;irand_number) printf("大了!\n"); else if(number

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值