5.1题
#include
{int i,j,n,a[101]; for (i=1;i<=100;i++) a[i]=i; a[1]=0;
for (i=2;i for (i=1,n=0;i<=100;i++) {if (a[i]!=0) {cout< 5.2题 #include {int i,j,min,temp,a[11]; cout<<\ for (i=1;i<=10;i++) {cout<<\ cin>>a[i]; //输入10个数 } cout< cout< for (i=1;i<=9;i++) //以下8行是对10个数排序 {min=i; for (j=i+1;j<=10;j++) if (a[min]>a[j]) min=j; temp=a[i]; //以下3行将a[i+1]~a[10]中最小者与a[i] 对换 a[i]=a[min]; a[min]=temp; } cout< for (i=1;i<=10;i++) // 输出已排好序的10个数 cout< #include {int a[3][3],sum=0; int i,j; cout<<\ for (i=0;i<3;i++) for (j=0;j<3;j++) cin>>a[i][j]; for (i=0;i<3;i++) sum=sum+a[i][i]; cout<<\ return 0; } 5.4题 #include {int a[11]={1,4,6,9,13,16,19,28,40,100}; int num,i,j; cout<<\ for (i=0;i<10;i++) cout< cout<<\ cin>>num; if (num>a[9]) a[10]=num; else {for (i=0;i<10;i++) {if (a[i]>num) {for (j=9;j>=i;j--) a[j+1]=a[j]; a[i]=num; break; } } } cout<<\ for (i=0;i<11;i++) cout< #include { const int n=5; int a[n],i,temp; cout<<\ for (i=0;i cout<<\ for (i=0;i cout< #include int main() {const int n=11; int i,j,a[n][n]; for (i=1;i for (i=3;i for (j=2;j<=i-1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for (i=1;i cout< 5.7题 #include { const int n=4,m=5; //假设数组为4行5列 int i,j,a[n][m],max,maxj; bool flag; for (i=0;i for (i=0;i for (j=0;j flag=true; //先假设是鞍点,以flag为真代表 for (int k=0;k if(flag) //如果flag1为真表示是鞍点 {cout<<\ //输出鞍点的值和所在行列号 break; } } if(!flag) //如果flag为假表示鞍点不存在 cout<<\ return 0; } 5.8题 #include { const int n=7; int i,number,top,bott,mid,loca,a[n]; bool flag=true,sign; char c; cout<<\ cin>>a[0]; i=1; while(i if (a[i]>=a[i-1]) i++; else cout<<\ } cout< top=0; //top是查找区间的起始位置 bott=n-1; //bott是查找区间的最末位置 if ((numbera[n-1])) //要查的数不在查找区间内 loca=-1; // 表示找不到 while ((!sign) && (top<=bott)) {mid=(bott+top)/2; if (number==a[mid]) {loca=mid; cout<<\ sign=true;