第八次作业
1.选择法排序。输入一个正整数n(1<n<=10),再输入n个 整数,将他们从大到小排序后输出。试编写相应程序。
#include<stdio.h>
int main(void)
{
int a[10];
int i,t,j,n;
printf("Input n:");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]<a[j+1])
{
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
}
}
for(i=0;i<n;i++)
{
if(i<n-1)
printf("%d\t",a[i]);
else
printf("%d\n",a[n-1]);
}
return 0;
}
2.输入正整数n,再输入n个数字,试分析出在输入过程中出现次数最多的数。
#include<stdio.h>
int main(void)
{
int n,i,max=0,temp,time[10]={0};
printf("enter n:");
scanf("%d",&n);
printf("enter %d integers:",n);
for(i=0;i<n;i++){
scanf("%d",&temp);
while(temp!=0){
time[temp%10]++;
temp/=10;
}
}
for(i=0;i<10;i++){
if(max<time[i])
max=time[i];
}
printf("出现最多次数%d次的数字是:",max);
for(i=0;i<10;i++)
if(time[i]==max)
printf("%d",i);
printf("\n");
return 0;
}
3.判断上三角矩阵。输入一个正整数n(1<=n<=6)和n阶方阵a中的元素,如果a 是上三角矩阵,输出“YES”,否则,输出“NO”。试编写相应源程序。
#include<stdio.h>
int main(void)
{
int i,j,n,flag;
int a[6][6];
printf("enter n:");
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
flag=1;
for(i=1;i<n;i++)
{
for(j=0;j<i;j++)
{
if(a[i][j]==0)
flag;
else
flag=0;
}
}
if(flag)
printf("YES\n");
else
printf("NO\n");
return 0;
}