第八次作业

1、选择法排序。输入一个正整数n(1<n<=1000),再输入n个整数,将他们从大到小排序后输出。

2;编写过程中明确算法,二次循环一一比较,置换。

3源代码

#include <stdio.h>
int main()
{
/*定义函数*/
int i,j,t,a[1000],n;
printf("Enter n(1<n<=1000):"); /*输入n*/
scanf("%d",&n); 
printf("输入%d个数:",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]); 
for(i=0;i<n;i++)
for (j=i+1;j<n;j++)
if(a[i]<a[j]) /*判断数组中各个数的大小*/ 
{
t=a[i];
a[i]=a[j];
a[j]=t; /*将数组从大到小排列*/
}
for(i=0;i<n;i++)
printf("%5d", a[i]); /*输出排列后的数组*/ 
printf("\n");
return 0;
}

1、求一批整数中出现最多的数字。输入一个正整数n(1<n<=1000),再输入n个整数,分析每个整数的每一位数字,求出现次数最多的数字。

 2;过程中对函数调用不熟悉,没有理解怎么调用;

3;#include<stdio.h>
int main()
{
int b[10],a[1000],i,n,t,m; /*定义函数*/
printf("Enter n:");
scanf("%d",&n);
printf("输入%d个整数:",n); /*输入n个整数*/
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++){
m=a[i];
while(m>0){
t=m%10;
m=m/10;
b[t]++; /*将数中各个位置的数提取出来*/
}
}
for(i=1,m=0;i<10;i++)
if(b[m]<b[i]) /*判断出现次数最多的数*/
m=i;
printf("出现次数最多的数是:%d\n",m);
for(i=m+1;i<10;i++)
if(b[m]==b[i])
printf("%d",i);
printf("\n"); /*输出*/
return 0;
}

1、判断上三角矩阵。输入一个正整数n(1<=n<=6)和你阶方阵a中的元素,如果a是上三角矩阵,输出“”YES"",否则输出""NO""。

 2;上三角要确定期=其条件是那边大那边小

3;


#include<stdio.h>
int main()
{
int a[6][6]; /*定义二维数组*/
int n,i,j,m;
m=1;
printf("Enter n(1<=n<=6):");
scanf("%d",&n);
printf("输入%d阶矩阵:",n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]); /*输入二维数组的元素*/
for(i=1;i<n;i++)
for(j=0;j<i;j++)
if(a[i][j]!=0){ /*判断是否为上三角矩阵*/
printf("NO\n"); /*不是上三角矩阵输出NO*/
m=0;
break;
}
if(m==1)
printf("YES\n"); /*是上三角矩阵输出YES*/
return 0;
}

posted @ 2019-06-10 22:00  张振儒  阅读(141)  评论(0编辑  收藏  举报