实验八:数组

心得:在此次作业中,考察了较多知识点,数组,二维字符串,使用字符串编程,内外循环等知识点,由第二题是个综合性极强的题。
 
 1.选择法排序。输入一个正整数n(1<≤10),再输入n个整数,将它们从大到小排序后输出。试编写相应程序。

#include<stdio.h>
int main()
{
int i,index,k,n,temp;
int a[10];
printf("ENTER n:");
scanf("%d",&n);
printf("ENTER % d integers:",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(k=0;k<n-1;k++){
index=k;
for(i=k+1;i<n;i++)
if(a[i]>a[index]) index=i;
temp=a[index];
a[index]=a[k];
a[k]=temp;
}
printf("After sorted:\n");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;


}

 2.求一批整数中出现最多的数字。输入一个正整数n(1<n≤1000),再输入n个整数,分析每个整数的每一位数字,求出现次数最多的数字。例如输入3个整数1234、2345、3456,其中出现次数最多的数字是3和4,均出现了3次。试编写相应程序。

#include<stdio.h>
int main()
{
int a[10],b[1000],i,n,x;
printf("ENTER % d integers:");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&b[i]);
for(i=0;i<n;i++){
x=b[i];
while(x>0){
a[x%10]++;
x=x/10;
}
}
for(i=1,x=0;i<10;i++)
if(a[x]<a[i])
x=i;
printf("输入最多的数字=%d\n",x);
return 0;
}

 

3.判断上三角矩阵。输入一个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出“YES”,否则,输出“N”。上三角矩阵指主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。试编写相应程序。

#include<stdio.h>
int main(void)
{
int a[6][6],i,j,n,flog;
printf("请输入是几阶矩阵:\n");
scanf("%d",&n);
printf("请输入矩阵的数据:\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
flog=1;
for(i=0;i<n;i++)
for(j=0;j<i;j++)
if(a[i][j]!=0)
flog=0;
if(flog)
printf("输出 YES\n");
else
printf("输出 NO\n");
return 0;
}

 

 

 

posted on 2019-06-10 20:51  张睿琪  阅读(278)  评论(0)    收藏  举报

导航