第八次作业

/*选择法排序。输入一个正整数n(1<n<=10),再输入n个
整数,将他们从大到小排序后输出。试编写相应程序。*/
#include<stdio.h>
int main (void)
{
int i,index,m,n,t;
int a[10];
printf("Enter n:");
scanf("%d",&n);
printf("%d;",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(m=0;m<n-1;m++)
{
index=m;
for(i=m+1;i<n;i++)
if(a[i]>a[index])
index=i;
t=a[index];
a[index]=a[m];
a[m]=t;
}
printf("输出排序结果:");
for(i=0;i<n;i++)
printf("%4d",a[i]);
printf("\n");
return 0;

}

 

 

/*输入正整数n,再输入n个数字,试分析出在输入过程中出现次数最多的数*/
#include<stdio.h>
int main()
{
int a[10],b[1000],i,n,x;
printf("Enter n:");
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;
}

 

 

 

/*判断上三角矩阵。输入一个正整数n(1<=n<=6)和n阶方阵a中的元素,如果a
是上三角矩阵,输出“YES”,否则,输出“NO”。试编写相应源程序。*/
#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 @ 2019-06-10 21:39  祁晓虎  阅读(123)  评论(0编辑  收藏  举报