1./*选择法排序。输入一个正整数n(1<n<=10),再输入n个
整数,将他们从大到小排序后输出。试编写相应程序。*/
#include<stdio.h> int main (void) { int i,index,k,n,t; int a[10]; printf("请输入要输入数据的个数n:"); scanf("%d",&n); printf("请输入你的%d数据;",n); for(i=0;i<n;i++) scanf("%d",&a[i]); for(k=0;k<n-1;k++) { index=k; for(i=k+1;i<n;i++) if(a[i]>a[index]) index=i; t=a[index]; a[index]=a[k]; a[k]=t; } printf("排序结果:"); for(i=0;i<n;i++) printf("%4d",a[i]); printf(" "); return 0; }
2.求一批整数中出现最多的数字。输入一个正整数n(1<n<=1000),再输入n个整数,分析每个整数的每一位数字,求出现次数最多的数字。
#include<stdio.h> int main(void) { int n,i,max=0,t,a[10]={0}; printf("Enter n:"); scanf("%d",&n); printf("Enter :",n); for(i=0;i<n;i++){ scanf("%d",&t); while(t!=0){ a[t%10]++; t/=10; } } for(i=0;i<10;i++){ if(max<a[i]) max=a[i]; } printf("出现最多次数的数字是:",max); for(i=0;i<10;i++) if(a[i]==max) printf("%d ",i); printf(" "); return 0; }
3./*判断上三角矩阵。输入一个正整数n(1<=n<=6)和n阶矩阵a中的元素,如果a是上三角矩阵,输出“YES”,
否则,输出“NO”。上三角矩阵指主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。试编写相应程序。*/
#include<stdio.h> int main(void) { int a[6][6],flag,i,j,n; printf("enter n:"); scanf("%d",&n); printf("enter array: "); for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); flag=1; for(i=0;i<n;i++) for(j=0;j<i;j++) if(a[i][j]!=0) flag=0; if(flag) printf("YES "); else printf("NO "); return 0; }
心得:作业完成的很紧张,其中出现了许多错误,改了半天也改不过来,好在最后又改了过来,总之完成的很吃力。