c语言基础 day6 数组

  eg1:输入5个整数,计算数组元素的平均值,
  计算奇数下表对应元素的和
  计算奇数元素的和 

  8 /*  int arr[5];
  9     int i;
 10     int sum,sum0,sum1;
 11         printf("please enter 5 num:");
 12         for(i=0;i<5;i++)
 13     {
 14         
 15         scanf("%d",&arr[i]);
 16         sum+=arr[i];
 17         if(i%2!=0)
 18         {
 19             sum0+=arr[i];
 20         }
 21         if(arr[i]%2!=0)
 22         {
 23             sum1+=arr[i];
 24         }
 25         
 26     }
 27 float ave;
 28         ave=sum/5;
 29 printf("ave=%f sum0=%d sum1=%d\n",ave,sum0,sum1); */
 30 
 31 
 32     return 0;
 33 } 

 循环输入n个元素,计算最大值和最小值

 34 int main(int argc, const char *argv[])
 35 {
 36     int n;
 37     printf("please enter n:");
 38     scanf("%d",&n);
 39     int arr[n];
 40 
 41     //循环输入
 42     for(int i=0;i<n;i++)
 43     {
 44         printf("please enter %d data:",i+1);
 45         scanf("%d",&arr[i]);
 46     }
 47     //计算最大值和最小值
 48     int max=arr[0],min=arr[0];
 49     for(int i=0;i<n;i++)
 50     {
 51         if(max<=arr[i])
 52             max=arr[i];
 53         if(min>=arr[i])
 54             min=arr[i];
 55     }
 56     printf("max=%d min=%d\n",max,min);
 57     return 0;
 58 }  

输入数组和查找的值key,判断在数组中是否存在
 如果不存在,则提示不存在
 如果再存在一次,则输出对应的下表
 如果存在多次,则输出存在几次       


 63      int arr[]={12,23,2,23,4,23};
 64     key=23
 65 int main(int argc, const char *argv[])
 66 {
 67     //定义数组
 68     int n;
 69     printf("please enter n:");
 70     scanf("%d",&n);
 71     int arr[n];
 72     //输入数组
 73     for(int i=0;i<n;i++)
 74     {
 75         printf("please enter %d data:",i+1);
 76         scanf("%d",&arr[i]);
 77     }
 78     //输入查找的值key
 79     int key;
 80     int count=0;
 81     int index;                                                                                         
 82     printf("please enter key:");
 83     scanf("%d",&key);
 84     //循环比较逐一查找
 85     for(int i=0;i<n;i++)
 86     {
 87 
 88         if(key == arr[i])
 89         {
 90             count++;
 91             index=i;
 92         }
 93     }
 94     if(count==0)
 95         printf("unexists\n");
 96     else if(count==1)
 97         printf("exits index=%d\n",index);
 98     else
 99         printf("count:%d\n",count);
100    
101     return 0;
102 }   

初始化5个元素,实现冒泡排序 冒泡排序:比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 [1] 针对所有的元素重复以上的步骤,除了最后一个,持续每次对越来越少的元素重复上面的步骤 ,直到没有任何一对数字需要比较。

108     int arr[]={23,5,2,1,7};                                                                            
109 int main(int argc, const char *argv[])
110 {
111     int arr[]={12,23,45,23,1,2};
112     int n=sizeof(arr)/sizeof(arr[0]);
113     for(int i=1;i<n;i++)//循环轮数
114     {
115         for(int j=0;j<n-i;j++)//循环每一轮比较的次数
116         {
117             if(arr[j]> arr[j+1])//两两比较,如果大于则交换
118             {
119                 int t=arr[j];
120                 arr[j]=arr[j+1];
121                 arr[j+1]=t;
122             }
123         }
124     }
125     for(int i=0;i<n;i++)
126     {
127         printf("%d ",arr[i]);
128     }
129 
130 
131 
132     return 0;
133 }

流程图:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值