//输入一个正整数,在输入n个整数,将它们从大到小排序//
#include<stdio.h>
int main()
{
//输入
int n,i,j,max,t;
int a[10];
printf("Enter n:");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
//排序
for(j=0;j<n-1;j++){
max=j;
for(i=j+1;i<n;i++)
if(a[max]<a[i])
max=i;t=a[max];a[max]=a[j];a[j]=t;}
for(i=0;i<n;i++)
/printf("%d\t",a[i]);
printf("\n");
return 0;
}
//求输入一批整数中出现次数最多的数//
#include<stdio.h>
int main()
{
//输入
int a[10],b[1000];
int 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/=10;
}
}
for(i=1,x=0;i<10;i++)
if(a[x]<a[i])
x=i;
printf("%d",x);
for(i=x+1;i<10;i++)
if(a[x]==a[i])
//输出
printf("%d",i);
printf("\n");
return 0;
}
//判断上三角矩阵//
#include<stdio.h>
int main()
{
//输入//
int a[6][6];
int n,i,j,xx=1;
printf("Enter n:");
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
ffor(j=0;j<i;j++)
if(a[i][j]!=0){
printf("NO\n");
x=0;
break;
}
if(x==1)
printf("YES\n");
return 0;
}
心得体会
该题涉及到一维数组和二维数组:1、一维数组的选择排序法;2、分类统计;3、二维数组的定义与引用及二维数组的编程。
写程序过程中感觉不完善 ,但是就是不知道怎么去修改;经过几天的思考,算法算是想明白了,但是程序知识点还不太明白怎么去用(比如说:一维数组的编程)。