11.5

阵列变数的应用

  1. #include<stdio.h>
  2. int main(){
  3. int n,b,a[10];
  4. for(n=1;n<=10;n++){
  5. scanf("%d",&a[n-1]);
  6. }
  7. while(1){
  8. int max_i=-1;
  9. printf("输入最大值:");
  10. scanf("%d",&b);
  11. if(b==0){
  12. break;
  13. }
  14. for(n=1;n<=10;n++){
  15. if(a[n-1]<b&&(max_i==-1||a[i]>a[max_i]){
  16. max=a[n-1];
  17. }
  18. }
  19. if(max!=-1){
  20. printf("%d",max);
  21. }
  22. }
  23. return 0;
  24. }
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int main(){ //输出离指定数最近的数
  4. int n,m,a[10];
  5. for(n=1;n<=10;n++){
  6. printf("请输入一个数:");
  7. scanf("%d",&a[n-1]);
  8. }
  9. while(1){
  10. printf("输入一个数:");
  11. scanf("%d",&m);
  12. int l=a[0],ld=abs(m-a[0]); //设第一个变数为离指定数最近的数,并算出其距离
  13. for(n=1;n<10;n++){
  14. int d=abs(m-a[n]) ;//算出现在所算变数与指定数的距离
  15. if(d<ld||(d==ld&&a[n]<a[0])){
  16. ld=d;
  17. l=a[n];
  18. }
  19. }
  20. printf("%d\n",l);
  21. }
  22. return 0;
  23. }
  1. #include<stdio.h>
  2. int main(){
  3. int a[10]={0},b,n,m=0,l;
  4. for(n=1;n<=10;n++){
  5. scanf("%d",&b);
  6. a[b]++;
  7. }
  8. int ans = 0; //求十个数中的众数
  9. for(n=1;n<10;n++){
  10. if(a[n-1]>=a[ans]){
  11. ans = n;
  12. }
  13. }
  14. printf("%d",ans);
  15. return 0;
  16. }
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int main(){ //随机输出1到10乱序数
  5. srand(time(0));
  6. int m,n,a[10];
  7. for(n=1;n<=10;n++){
  8. do{
  9. a[n-1]=rand()%10+1;
  10. for(m=1;m<n;m++){
  11. if(a[n-1]==a[m-1]){
  12. break;
  13. }
  14. }
  15. }while(m!=n);
  16. printf("%d ",a[n-1]);
  17. }
  18. return 0;
  19. }