---恢复内容开始---
2.求一批整数中出现最多的数字。输入一个整数n,再输入n个整数,分析每个整数的每一位数字,求出现次数最多的数字,试编写程序。
#include<stdio.h>
int main(void)
{
int a[5],b[10],i,n,y;
printf("Enter n:");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&b[i]);
for(i=0;i<n;i++){
y=b[i];
while(y>0){
a[y%5]++;
y=y/5;
}
}
for(i=1,y=0;i<10;i++)
if(a[y]<a[i])
y=i;
printf("max=%d",y);
for(i=y+1;i<10;i++)
if(a[y]==a[i])
printf("%d",i);
printf("%
");
return 0;
}
---这道题中本身的程序是对的,,但是我在输出结果的过程中还是出现了问题,我试着输出好几遍都出现问题,里面的让我对数组有了更近一步的了解,我会再试着把问题找出来关于这道题。
1.选择法排序,输入一个正整数n,再输入n个整数,将他们从大到小排序后输出,试编写程序。
#include<stdio.h>
int main(void)
{
int a[5],i,j,x,n,s;
printf("Enter n:
");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(j=0;j<n;j++){
x=j;
for(i=j+1;i<n;i++)
if(a[x]<a[i])
x=i;
s=a[j];
a[j]=a[x];
a[x]=s
}
for(i=0;i<n;i++)
printf("%ds",a[i]);
printf("
");
return 0;
}
这道数组排序我觉得最主要得是细心发现去做,还有就是里面有一些固定嵌套语句,掌握这些这道题可能就不那么难了。
3.判断上三角形。输入一个正整数n(1<=n<=6)和n阶方阵a中的元素,如果a是上三角矩阵,输出“YES”,否则,输出“NO”,上三角矩阵这对主对角线一下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。试编程:
#include<stdio.h>
int main()
{
int a[4][4];
int n,i,j,t;
t=1;
printf("Enter n:");
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
");
t=0;
break;
}
if(t==1)
printf("YES
");
return 0;
}
心得:此次编程收获的更多的是知识,还有就是加深了对数组这一块儿基本考察类型,里面有一些固定嵌套要熟悉和掌握,欠缺的更多的是对基础知识的不扎实以及稳固,还得多看书。