鱼C论坛

 找回密码
 立即注册
查看: 602|回复: 9

[已解决]循环问题求助

[复制链接]
发表于 2020-8-20 10:37:36 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
比如用while循环怎么说如果不是=就继续循环,求助大神
最佳答案
2020-8-20 11:36:21
蹈厉 发表于 2020-8-20 11:26
这个我想把最后输入的000改成=
  1. #include <stdio.h>

  2. int main()
  3. {
  4.     int n=0;//有几位数
  5.     int x,y;//x是输入的数,y是平均数
  6.     int z=0;//总数
  7.     scanf_s("%d",&x);
  8.     while(x!='=')//你想这样写?=是一个字符,你在循环中读取的是%d,是一个int类型变量,你为什么要用 一个字符作为结束循环的标记呢。这样写的话,当你输入61的时候就会结束循环,因为'='字符的ASCII码为61
  9.     {
  10.         z+=x;
  11.         n++;
  12.         scanf_s("%d",&x);
  13.     }
  14.     y=z/n;
  15.     printf("这%d个数的平均值为%d.",n,y);
  16.     return 0;
  17. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-20 10:38:44 | 显示全部楼层
本帖最后由 sunrise085 于 2020-8-20 10:50 编辑

请再详细说一下你的疑问,没看明白.
是这个意思吗?
  1. while( ch != '=')//若ch不是=,就继续循环
  2. {
  3.     //你的代码
  4. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-20 10:47:49 | 显示全部楼层
  1. while( x != 1)
  2. {
  3. }
复制代码

c语言如果x不是1,就继续循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-20 11:17:22 From FishC Mobile | 显示全部楼层
sunrise085 发表于 2020-8-20 10:38
请再详细说一下你的疑问,没看明白.
是这个意思吗?

这个打出来就是死循环了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-20 11:20:02 From FishC Mobile | 显示全部楼层
sunrise085 发表于 2020-8-20 10:38
请再详细说一下你的疑问,没看明白.
是这个意思吗?

原来是while(x>-1||x<-1)
我想把-1改成=
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-20 11:22:10 | 显示全部楼层
蹈厉 发表于 2020-8-20 11:20
原来是while(x>-1||x

你说的太乱了,请发你的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-20 11:25:35 From FishC Mobile | 显示全部楼层
sunrise085 发表于 2020-8-20 11:22
你说的太乱了,请发你的代码

int n=0;//有几位数
int x,y;//x是输入的数,y是平均数
int z=0;//总数
scanf_s("%d",&x);
while(x!=000)
{
z+=x;
n++;
scanf_s("%d",&x);
}
y=z/n;
printf("这%d个数的平均值为%d.",n,y);
return 0;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-20 11:26:20 From FishC Mobile | 显示全部楼层
sunrise085 发表于 2020-8-20 11:22
你说的太乱了,请发你的代码

这个我想把最后输入的000改成=
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-20 11:36:21 | 显示全部楼层    本楼为最佳答案   
蹈厉 发表于 2020-8-20 11:26
这个我想把最后输入的000改成=
  1. #include <stdio.h>

  2. int main()
  3. {
  4.     int n=0;//有几位数
  5.     int x,y;//x是输入的数,y是平均数
  6.     int z=0;//总数
  7.     scanf_s("%d",&x);
  8.     while(x!='=')//你想这样写?=是一个字符,你在循环中读取的是%d,是一个int类型变量,你为什么要用 一个字符作为结束循环的标记呢。这样写的话,当你输入61的时候就会结束循环,因为'='字符的ASCII码为61
  9.     {
  10.         z+=x;
  11.         n++;
  12.         scanf_s("%d",&x);
  13.     }
  14.     y=z/n;
  15.     printf("这%d个数的平均值为%d.",n,y);
  16.     return 0;
  17. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-20 11:44:33 From FishC Mobile | 显示全部楼层
sunrise085 发表于 2020-8-20 11:36

啊啊啊,明白了明白了,感谢感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-21 20:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表