循环是结构化程序设计的基本结构之一,它和顺序控制、选择结构共同作为各种复杂程序的基本构造单元(摘自谭浩强的《C程序设计》。
一、while循环:
1、使用while循环控制输出0到9十个数:
int i=0; //循环变量赋初值 int a=0; while (i<10) { //循环条件 scanf("%d",&a); printf("%d ",a); //{}中的是循环体 i++; //循环变量的自增,代表的是循环变量的步长 }
2、循环输入十个数,求出十个数中的最大值、最小值、和、平均值
int i=0; int s=0,a=0; int max=0,min=0; float avg=0; printf("请输入10个数字: "); i=0; s=0; while (i<10) { scanf("%d",&a); s+=a; if (i==0) { min=a; max=a; }else{ if (max<=a) { max=a; } if (min>=a) { min=a; } } i++; } avg=s/10; printf("十个数之和=%d,最大值=%d,最小值=%d,平均值=%.1f",s,max,min,avg);
3、利用循环找出是偶数的两位数,且是平方数
int i; i=10; while (i<100) { if (!(i%2) && !(sqrt(i)-(int)sqrt(i))) { printf("%d ",i); } i++; }
4、利用循环找出能被3整除且不能被7整除的大于0小于100的数并输出
int i; i=3; while (i<100) { if (i%7) { printf("%d ",i); } i+=3; }
5、利用循环找出个位比十位大的两位数,并输出:
int i; int count=0; i=10; while (i<100) { if (i/10<i%10) { printf("%d ",i); count++; } i++; } printf(" %d ",count);
6、找出个位是奇数,十位是偶数的两位数
int i; int count=0; i=10; while (i<100) { if ((i/10%2==0) && (i%2==1)) { printf("%d ",i); count++; } i++; } printf(" %d ",count);
7、 循环实现1+2+3+。。。+10:
int i; int sum; i=1; sum=0; while (i<=10) { sum+=i++; } printf("%d ",sum);
8、计算从1到n的求和:
int i; int n; int s = 0; i = 1; printf("请输入一个n值:"); scanf("%d", &n); while (i<=n) { s=s+i; i++; } printf("%d ", s);
9、计算1-2+3-4........n(n位从键盘输入):
int i; int n; int s = 0; i = 1; printf("请输入一个n值:"); scanf("%d", &n); while (i<=n) { if (i%2) { s=s+i; } else{ s=s-i; } i++; } printf("%d ", s);
10、 计算1+1/2+1/3+1/4+1/5.。。+1/n的值:
int i; int n; float s = 0; i = 1; printf("请输入一个n值:"); scanf("%d", &n); while (i<=n) { s=s+(float)1/i; i++; } printf("%f ", s);
11、计算1-1/2+1/3-1/4........1/n(n位从键盘输入):
int i; int n; float s = 0; i = 1; printf("请输入一个n值:"); scanf("%d", &n); while (i<=n) { if (i%2) { s=s+(float)1/i; } else{ s=s-(float)1/i; } i++; } printf("%f ", s);
12、 嵌套while 计算十组从1到n的累加:
int i,j; int n; double s = 0; j=1; while (j<=10) { printf("请输入一个n值:"); scanf("%d", &n); i = 1; s = 0; while (i<=n) { s=s+i; i++; } printf("%.0lf ", s); j++; }
二、do() while{}
1、计算从1到n的求和,使用do while
int i; int n; int s = 0; i = 1; printf("请输入一个n值:"); scanf("%d", &n); do{ s=s+i; i++; }while (i<=n); printf("%d ", s);