资源描述:
《大一上学期C++课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实习题目一1.输出1至100之间每位数的乘积大于每位数的和的数,例如对于数字12,有1*2<1+2,故不输出该数;对于27,有2*7>2+7,故输出该数。题目分析:该题目要求验证并输出1到100之间满足条件的数,故要用for循环来实现依次验证并输出。算法设计:利用for循环语句,依次进验证,并输出结果。inti,a,b;for(i=1;i<100;i++){a=i/10;b=i%10;if(a*b>a+b)cout<
2、include"stdafx.h"#include"A_1.h"voidTestA_1(){inti,a,b;for(i=1;i<100;i++){a=i/10;b=i%10;if(a*b>a+b)cout<
3、取三位数的各位数字(百,十,个)提取各位数字:百位:a=i/100;十位:c=i%100/10;个位:d=i/100%10。调试报告:由于把对变量赋值的语句位置放错,导致编译时不报错但得不到正确的结果。附录:#include"stdafx.h"#include"A_2.h"voidTestA_2(inti){inta,b,c,d;cout<<"水仙花数是:"<4、)cout<
5、clude"A_3.h"voidTestA_3(){inti,n,k,max,min,a[100];cout<<"请输入n的值:";cin>>n;cout<<"请输入"<>a[i];for(i=1,max=a[0],min=a[0];i<=n-1;i++){if(a[i]>max)max=a[i];elseif(a[i]6、结果:实习题目四4.对两个有序数组进行合并:设有如下数组A、B,并假设两个数组的元素都已经有序(从大到小降序排列)。编程序,合并A、B数组形成一个新的数组C,并使C的元素仍有序(从大到小降序排列)。intA[10]={123,88,86,86,33,15,7,0,-1,-3};intB[10]={86,69,51,50,27,19,15,12,5,2};题目分析:该题目要求合并两个已经有序的数组,所以要充分利用数组有序这一特点。现在要做的就是把数字从大到小存入C[20]中,这就要比较A,B中较大数。算法设计:1.按照a
7、[0],a[1],…,a[19]的顺序分别与b[0],b[1],…,b[19]循环进行比较。2.每次找到较大数后将最大数也按循环存储到c[0],c[1],…,c[19]中,每存储一次就将a与b中已存数组和c数组的角标加1即可控制循环3.当a与b中任何一个角标到9时结束循环,并将另一个数组中剩余数字按顺序存入数组c中即可。调试报告:由于在while()后丢失分号,编译时报错。附录:#include"stdafx.h"#include"B_4.h"voidTestB_4(){intA[10]={123,88,86,86,3
8、3,15,7,0,-1,-3};intB[10]={86,69,51,50,27,19,15,12,5,2};intC[20];inti=0,j=0,k=0;while(k<=19){if(A[i]>=B[j]){C[k]=A[i];i++;k++;}else{C[k]=B[j];j++;k++;}if(i==10)for(;k<