printf(\}
(4)程序说明:下面程序打印出如下所示的杨辉三角行(打印10 行)。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 …….
#include\void main() {
int i,j,a[10][10]={{1},{1,1}}; for(i=2;i<10;i++) {
a[i][0]=1;_ a[i][i]=1; for(j=0;j
a[i][j]=a[i-1][j]+ a[i-1][j-1]; }
for(i=0;i<10;i++) {
for(j=0;j<=i;j++)
printf(\ printf(\} }
3.程序设计(根据题意编写程序并上机进行调试)。
(1)编写程序完成如下功能:输入10 个数存入一维数组,然后再按逆序重新存放后
输出。
#include
#include (3)编写程序完成如下功能:现有两个已按升序排好的数组,将它们合并为一个升序排序的数组(归并排序)。 算法:两个数组合并时,可为每个数组各安排一个指针,从第一个元素开始依次比较两数组对应元素,小的取下来顺序放入新的数组,取下所指元素的指针后移,再比较,依此类推,直到其中一个数组的元素已全部放入新数组,再把另一数组余下的元素全部顺序放入新数组,归并完成。 编程并上机调试运行。 (1)用选择法对10个整数排序。10个整数用scanf函数输入。 #include int i,j,min,temp,a[11]; printf(\ for(i=1;i<=10;i++) { printf(\ scanf(\ } 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(\} (2)有15个数存放在一个数组中,输入一个数,要求用对半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输入“无此数”。以15个数用赋初值的方法在程序中给出。要找的数用scanf函数输入。 #include int i,number,top,bott,mid,loca,a[15],flag=1,sign; char c; printf(\ scanf(\ i=1; while(i<15) { scanf(\ if(a[i]>=a[i-1]) i++; else printf(\ } printf(\ for(i=0;i<15;i++) printf(\ printf(\ while(flag) { printf(\ scanf(\ sign=0; top=0; bott=14; if((numbera[14])) loca=-1; while((!sign)&&(top<=bott)) { mid=(bott+top)/2; if(number==a[mid]) { loca=mid; printf(\ sign=1; } else if(number if(!sign || loca==-1) printf(\ printf(\ scanf(\ if(c!= 'N' || c!= 'n' || c!= 'Y' || c!= 'y') scanf(\ if(c=='N' || c=='n') flag=0; } } (3)将两个字符串连接起来,不要用strcat函数。 #include