1、,ni-1,ni);(2)#include char ch=0,123456789;int i=0,m=2,r,x=42; char b80;while(x)r=x%m; x/=m;bi+=chr;for(-i;i=0;i-)%c,bi);n);(3)#include int a3=9,7,5,3,1,2,4,6,8;int i,j,s1=0,s2=0;for(i=0;3;for(j=0;jj+)if(i=j) s1=s1+aij;if(i+j=2) s2=s2+aij;s1=%d s2=%d,s1,s2);(4)#include int r5=1,2,3,4,5;int i,j,a55;=4
2、; for(j=i;aij=rj-i;i;aij=ri-j;5;%2d,aij);2程序填空(根据题意在空白处填入适当的容,使程序变得完整。并上机进行调试验证)(1)程序说明:下列程序完成的是插入排序功能:数组a 中存放一个递增数列,输入一个整数x,将它插入到数组中,使之仍为一个有序数列。#include #define N 10int a11=1,10,20,30,40,50,60,70,80,90 ,x,i,p;scanf(%d,&x);for(i=0,p=N;N;if(xai)p=i;_break_;for(i=N-1;=p; _i-_)ai+1=ai;_ap=x_;,x);=N;%5d
3、,ai);(2)程序说明:下面程序完成的是折半查找。A 数组中存放的是n 个由大到小已经排好序的数列,从这n 个数中查找x 的值是否存在。其基本思想是:在查找围里,将x 与处于中间位置上的数比较,如果相等,则查找成功,如果小于该元素,则在较小的一半元素里再进行折半查找;如果x大于该元素,则在较大的一半元素里再进行折半查找。变量top,bottom,mid 分别指向查找围的顶部、底部和中间位置。#define n 10main()int an,find;int x,i,top,bottom,mid;input the sorted numbers:n;,_&ai_);input the numb
4、er to find:find=0;top=0;bottom=n-1;=a0 & topamid)bottom=mid-1;elsetop=mid+1;if(find=0) printf(the number %d is not in the table(3)程序说明:下面程序分别输出方阵中主对角线、副对角线上元素的和suml 和sum2(主对角线为从矩阵的左上角至右下角的连线,副对角线为从矩阵的右上角至左下角的连线).#include#define SIZE 5int aSIZESIZE,m,n,sum1,sum2;for(m=0;mSIZE;m+)for(n=0;nn+)amn);sum1
5、=sum2=_0_;sum1=sum1+amm;sum2=sum2+amSIZE-1-m;sum1=%d sum2=%dn,sum1,sum2);(4)程序说明:下面程序打印出如下所示的辉三角行(打印10 行)。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1.int i,j,a1010=1,1,1;for(i=2;10;ai0=1;_ aii=1;aij=ai-1j+ ai-1j-1;=i;%4d printf(3程序设计(根据题意编写程序并上机进行调试)。(1)编写程序完成如下功能:输入10 个数存入一维数组,然后再按逆序重新存放后输出。#include int
6、 a10,i,temp; for(i=0; scanf(ai); printf( temp=ai; ai=a9-i; a9-i=temp; (2)编写程序完成如下功能:从键盘输入两个字符串ch2、 ch1,然后将字符串ch2 连接到字符串ch1 的后面,并输出连接后的字符串。string.h char ch120,ch210; int i,j; scanf(%s,ch1);,ch2); j=strlen(ch1);strlen(ch2);i+,j+) ch1j=ch2i; ch1j=0;%sn(3)编写程序完成如下功能:现有两个已按升序排好的数组,将它们合并为一个升序排序的数组(归并排序)。算
7、法:两个数组合并时,可为每个数组各安排一个指针,从第一个元素开始依次比较两数组对应元素,小的取下来顺序放入新的数组,取下所指元素的指针后移,再比较,依此类推,直到其中一个数组的元素已全部放入新数组,再把另一数组余下的元素全部顺序放入新数组,归并完成。编程并上机调试运行。(1)用选择法对10个整数排序。10个整数用scanf函数输入。 int i,j,min,temp,a11;enter data: for(i=1;=10;a%d=,i);The orginal numbers:=9; min=i; for(j=i+1; if(aminaj) min=j; temp=ai; ai=amin; a
8、min=temp;n The sorted numbers:(2)有15个数存放在一个数组中,输入一个数,要求用对半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输入“无此数”。以15个数用赋初值的方法在程序中给出。要找的数用scanf函数输入。 int i,number,top,bott,mid,loca,a15,flag=1,sign; char c;a0); i=1; while(i=ai-1) i+; elseenter this data again:15; while(flag)input number to look for:number); sign=0; top=0; bott=14; if(numbera14) loca=-1; while(!sign)&(top=bott) mid=(bott+top)/2; if(number=amid) loca=mid;Has found %d,i
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1