大学生语言程序设计(第四版谭洪强)实验4答案.docVIP

  • 152
  • 0
  • 约5.93千字
  • 约 10页
  • 2018-11-19 发布于广东
  • 举报

大学生语言程序设计(第四版谭洪强)实验4答案.doc

大学生语言程序设计(第四版谭洪强)实验4答案.doc

实验四参考答案 1、设计程序Sy4-lx,输入10个整数存入一个数组a,输入x,使数组a中各元素值都乘以 x后输出。 算法分析: 用循环输入10个数,分别赋给a問,afll,------a[91,然后再输入x的值,重新给每个元 素a『01,afl],——,aM赋值为他们乘以x的值;最后结果输出。 参考答案: #includestdio.h int main() { int aflOK x , i; printf(请输入10个整数:); for(i=0;i10;i++) scanf(%d°,a[i]); printf(输出数组中原来的值; for(i=0;i10;i++) printf(n%5du,a[i]); printf(\n请给x输入值:); scanf(n%d,x); for(i=0;i10;i++) a[il=a[i]*x; printf(”数组毎个元素乘以x后的值为:); for(i=0;i10;i++) printf(n%5dM,aliJ); printf(\n); return 0; 运行结果: 2、设计程序sy4-2.C,对输入的10个整数按倒序存放后输出结果。 算法分析: 用“对折交换”的方法:首先输入10个数给每个元素;设罝两个下标变量,i=0 (第 一个元素下标),j=9 (最后一个元素下标);交换a[0],a[9],然后i++, j--,再交换a[l],a[8] 的值,直到i〉=j,结朿;最后输出交换后数组的值。 参考答案: ■ ? #includestdio.h I int main() S { inta[10]={l,2,3,4,5,6,7,8,9,10},i,j,t; : printf(输出交换前数组的值:n); for(i=0;i10;i++) printf(%3d,a[i]); for(i=0, j=9 ; ij; i++,j--)逐一交换 a[OJ和 a[l],a[l]和 a[8], ... a[4]和 a[5] { t=a[i]; a[i]=a[j]; a|j]=t; } printf(\n输出交换后数组的值:); for(i=0;i10;i++) printf(n%3d,alij); printf(\n”); return 0; 运行结果: ‘E:\yl\123\Debug\sy4-2. exe‘ 輸出交潦前数组的值:@出交换眉藪组的憧:10 9876543 輸出交潦前数组的值:@出交换眉藪组的憧:10 9876543 Press any key to continue 9 10 2 1 3、设计程序Sy4-3.c,输入10个整数,找出其中的S大数及其所在的下标。 算法分析: 首先:把下标为0的数看成最大数,即max=a[0],k=0;然后:逐一遍历a[0]后面的每个 元素,如果当前元素值比max大,就改写max,并记录其下标。 最后:输出结果。 参考答案: ■ #includestdio.h int main() S { int a[10]={ 12,21,35,10,54,31,24,58,43,11 },i,k,max; //max 存放最大值,k 记最大值的下标 j printf(输出数组的每个元素:”); I for(i=0;i10;i++) I printf(n%3dn,a[i]); I max=a[0]; k=0; //首先把a[Oj看成最大值,k记它的下标 for(i=l;i10;i++) //逐一遍历其后的每个元素 J if(maxa[i]) //如果当前值比最大值大 J { max=afi] ; k=i; } //就改写最大值和最大值的下标 J printf(\n 最大值=%山最大值的下#=%d\nn,max, k); ! return 0; CAD: \何春惠\Debug\sy4-3.ezenl x CA D: \何春惠\Debug\sy4-3. eze nl x 學大<=58,蕞夫ft的下标=? □Press Any key to continue. Jj /a4、设计程序sy4-4.c,在一个5个整数的升序排列的序列中,任意输入一个数插入其中, 要求保持原来的排列顺序。输岀结果。 Jj /a 算法分析:(方法一) 分析:假如inta[6]初值如下表,需插入的数据x=10;插入算法如下: 下标 0 1 2 3 4 5 元素的值 5 9 15 20 24 1)首先应遍历数组找到插入的位置p=2; 2)然后应从数组最后一个元素到下标为p的 所有元素都向后移动一个位罝;3)在下标为p的位罝写入x的值。 参考答案: ■ -# include stdio.h void main() J { I int a[10],i,x,p

文档评论(0)

1亿VIP精品文档

相关文档