1.选择法排序。输入一个正整数n(1<n<=10),再输入n个整数,将他们从大到小排序后输出。试写出相应程序。
#include<stdio.h>
int main(){ int a[10],b[1000],i,n,x;printf("输入数据的个数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=x/10;}}for(i=1,x=0;i<10;i++)if(a[x]<a[i])x=i;printf("输入次数最多的数字=%d\n",x);return 0;}
3.判断上三角矩阵。输入一个正整数n(1<=n<=6)和n阶方阵a中的元素,如果a是上三角矩阵,输出“YES”,否则,输出“NO”。上三角矩阵指主对角线以下的元素都为0,主对角线为从矩阵左上角至右下角的连线。试编写相应程序。
#include<stdio.h>
int main(void){ int a[6][6],i,j,n,flog;printf("请输入是几阶矩阵:\n");scanf("%d",&n);printf("请输入矩阵的数据:\n");for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);flog=1;for(i=0;i<n;i++)for(j=0;j<i;j++)if(a[i][j]!=0)flog=0;if(flog)printf("输出 YES\n");elseprintf("输出 NO\n");return 0;}心得体会:这次作业算是按时完成了,第一题中做的时候用到了前面所学的交换语句,做的时候还很顺利;
第二题中用到了while语句,目前为止还不太会用,运行过程中出现了好多的错误,自己没有找出来,是在舍友的帮助下完成的这道题;
第三题中的for语句用的很多,在做题的时候思路不清晰,总是丢三落四的,这道题做的时间最长,最难受,而且本想着试试减少用printf,可是出现错误的次数太多,所以还是一步步的像刚开始那样写了,这样我读起来还是比较容易一点,还能读出来。