C语言-while循环

  • 格式:pdf
  • 大小:53.03 KB
  • 文档页数:3

C语⾔-while循环

循环是结构化程序设计的基本结构之⼀,它和顺序控制、选择结构共同作为各种复杂程序的基本构造单元(摘⾃谭浩强的《C程序设计》。

⼀、while循环:

1、使⽤while循环控制输出0到9⼗个数:

int i=0; //循环变量赋初值

int a=0;

while (i<10) { //循环条件

scanf("%d",&a);

printf("%d\n",a); //{}中的是循环体

i++; //循环变量的⾃增,代表的是循环变量的步长

}

2、循环输⼊⼗个数,求出⼗个数中的最⼤值、最⼩值、和、平均值

int i=0;

int s=0,a=0;

int max=0,min=0;

float avg=0;

printf("请输⼊10个数字:\n");

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\t",i);

}

i++;

}

4、利⽤循环找出能被3整除且不能被7整除的⼤于0⼩于100的数并输出

int i;

i=3;

while (i<100) {

if (i%7) {

printf("%d\t",i);

}

i+=3;

}

5、利⽤循环找出个位⽐⼗位⼤的两位数,并输出: int i;

int count=0;

i=10;

while (i<100) {

if (i/10

printf("%d\t",i);

count++;

}

i++;

}

printf("\n%d\n",count);

6、找出个位是奇数,⼗位是偶数的两位数

int i;

int count=0;

i=10;

while (i<100) {

if ((i/10%2==0) && (i%2==1)) {

printf("%d\t",i);

count++;

}

i++;

}

printf("\n%d\n",count);

7、 循环实现1+2+3+。。。+10:

int i;

int sum;

i=1;

sum=0;

while (i<=10) {

sum+=i++;

}

printf("%d\n",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\n", 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\n", 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\n", 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\n", 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\n", 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\n", s);