C语言之while循环的运用

whlie循环的一般形式
while(表达式)语句
只要当循环表达式的值为真(即给定的条件成立时)就执行循环体语句。
应用二:
在这里插入图片描述
对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。
输入格式:输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。
输出格式:在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。
这道题关键在于输入数字的个数我们并不知道,所以接下来我们可以用while循环来解决。

#include <stdio.h>
int main ()
{
int x,k = 1;
//只要输入的形式符合,就循环下去
while(scanf("%d",&x) == 1){
if(x == 250){
break;
}
//k计数
k++;
}
printf("%d\n",k);
return 0;
}

**应用二:**循环次数未知
编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + … 直到最后一项的绝对值不大于给定精度eps。输入格式:
输入在一行中给出一个正实数eps。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。

#include<stdio.h>
int main()
{
double eps,sum = 0;
scanf("%lf",&eps);
int i = 1;
while(1){
//减去第偶数个数
if(i % 2 == 0){
sum = sum - 1.0 / (3.0 * i - 2);
}else{//加上第奇数个数
sum = sum + 1.0 / (3.0 * i - 2);
}
//当达到题上要求条件时,用break跳出循环
if(1.0 / (3.0 * i - 2) <= eps){
break;
}
i++;
}
printf("%lf",sum);
return 0;

应用三:
给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。
首先在屏幕上显示以下菜单:
[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。
输入格式:
输入在一行中给出用户连续输入的若干个编号。
输出格式:
首先在屏幕上显示菜单。然后对应用户的每个输入,在一行中按格式“price = 价格”输出查询结果,其中价格保留两位小数。当用户连续查询次数超过5次、或主动输入0时,程序结束。

#include<stdio.h>
int main()
{
 printf("[1] apple\n");
 printf("[2] pear\n");
 printf("[3] orange\n");
 printf("[4] grape\n");
 printf("[0] exit\n");
 int a, t = 0;
 //t记录输入次数,大于五次即结束循环
 while(t < 5){
  t = t + 1;
  scanf("%d",&a);
  
  switch(a){
   case 1:
    printf("price = 3.00\n");
    break;
   case 2:
    printf("price = 2.50\n");
    break;
   case 3:
    printf("price = 4.10\n");
    break;
   case 4:
    printf("price = 10.20\n");
    break;
   case 0:
    //输入0,让t为任意一个大于等于5的数字,即可让循环结束
    t = 5;
    break;
   default:
    printf("price = 0.00\n");  
  }
 }
}

欢迎留言评论哦!

发布了4 篇原创文章 · 获赞 6 · 访问量 80

猜你喜欢

转载自blog.csdn.net/qq_46127363/article/details/105070450
今日推荐