A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 莞尔,一笑。 中级黑马   /  2016-6-3 00:12  /  2666 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

4:  找出指定范围中符合特定条件的数(先遍历出这个范围之中所有的数,然后再加特定条件,将符合条件的数生成循环)
    :要找到 n - m 这个范围之内符合条件的数
        1): 先遍历 n - m 之间的每一个数
        2):在判断遍历出来的数是不是符合条件,如果符合就拿出来用,不符合直接pass
int i = n;
while( i <= m)
{
if(一些特定的条件)
{
如果达成,就把i 拿出来
}

i++;
}
PS:一个数字求各位数字的值:X=一个千位数: X/1000 = 千位
                                                     X%1000/100=百位
                                              X%1000%100/10=十位               
                                                                                      X % 10 = 个位   
5: 利用循环求累加和与平均值(n - m 每一个数的累加和)
   1)先声明一个变量用来代表累加和(sum)
   2)再遍历n - m 之间每一个数
   3)将遍历中的每一个数累加到累加和(sum)中去
   4)遍历完成以后,sum 就是n - m之间每一个数的累加和
(平均值就为: sum/m ,累加和除以这些数 )
int sum = 0;
int i = n;
while(i <= m)
{

sum += i

i++;
}
6:求一堆数中的最大值和最小值(直接将语法带入)
int max = 0;(先要声明一个变量,就是这些数中最大的值)
int i = n(然后遍历n - m这些数中所有的数,将这些遍历出来的数与max最大的数进行比较比之前大的就留下来,小的就pass掉,当遍历结束的时候留在max中的,就是这些数中最大的数;最小值与之相反)
while(i <= m)
{
printf("请用户随机输入几个数\n");
int num = 0;
scanf("%d",&num);(num是用户输入的数,输入后与n - m之间的数进行比较)
if(num > max)
{num == max;}
i++;
printf("max = %d\n",max);
}
(在进行比较的同时可能出现一些状况,只要记得:1.要保证这个max是用户输入的第一个数,可用if(i == n){max = num;})  2.在xcode中int类型最大和最小是有提示的,INT_32MAX  或者 INT_32MIN,比最大的时候输入最小的INT_32MAX比最小的输入最大的INT_32MAX;


7:循环应用7 - 计数
  1)记录循环了多少次
   2)记录某个条件满足了多少次
   案例:1-100间是3的倍数有多少
int count = 0;(声明一个记录次数的变量)
int i =1;(循环的次数)
while(i <= 100)  (循环的条件)
{
if( i % 3 ==0 )     (如果在这之间是3的倍数)
{
count++;            (就让它在这个循环体中+1)
}
i++;
printf("在1-100之间是3的倍数有%d个",count);
}
8:应用循环8-穷举(好比1个1个挨个试)
int num = arc4random_uniform(n)+1    (系统随机产生随机数,前提是在系统下要引入头文件,在#include<stdio.h>下写入#include<stdlib.h>)
int i =0;
while(1)
{
if(num == i)
{

printf("%d",i);
break;

}
i++;
}














2 个回复

正序浏览
学习了,谢谢分享!
回复 使用道具 举报
向楼主学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马