两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请

阿尔泰瑞斯 2017-11-07 07:33:26
#include <stdio.h>
#include <stdlib.h>

int main()
{
char i,j,k;
for(i='x';i<='z';i++)
{
for(j='x';j<='z';j++)
{
if(i!=j)
{
for(k='x';k<='z';k++)
{
if(i!=k&&j!=k)
{
if(i!='x'&&k!='x'&&k!='z')
{
printf("顺序为:a--%c\tb--%c\tc--%c\n",i,j,k);
}
}
}
}
}
}
}
谁能给我讲讲这个答案啊,为什么for循环里面可以用非数字啊
...全文
649 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿尔泰瑞斯 2017-11-15
  • 打赏
  • 举报
回复
我还是不懂这个答案是什么意思,能解释下为啥要用三个循环吗
jena_wy 2017-11-15
  • 打赏
  • 举报
回复
循环其实用的是字符所对应的ASCII码值。
CT8100 2017-11-15
  • 打赏
  • 举报
回复
引用 4 楼 qq_40790112 的回复:
我还是不懂这个答案是什么意思,能解释下为啥要用三个循环吗
就好比 (a,b,c)(x,y,z)找符合上述要求的比赛规格。 肯定要依次判断呀: a和x比,和y比,和z比 同样b也可以与xyz比 c也可以与xyz比 理论上相当于次数3*3*3=27次。(三次循环的理由) 但是 同一个人只能和一个人比,从而程序中就加了 这样 if(i!=j)的判断,来避免一人多比。 道理就是这样,但是这个算法虽然能实现,但是效率低。
自信男孩 2017-11-08
  • 打赏
  • 举报
回复
字符类型char or unsigned char是int类型的子集,当然可以使用。 不但字符可以,double/float也是可以的。
qq_36559718 2017-11-08
  • 打赏
  • 举报
回复
计算机中所用的都是ASCII码,而'X'的ASCII码是58H,而'Z'的ASCII码是5AH,是可以放在for循环的呀
Bambi_C 2017-11-08
  • 打赏
  • 举报
回复
计算机里是不存在什么字母的,所有char类型字符都是以ASCII码的形式存储在内存中 也就是说 'A'(65)<'B'(66)

70,021

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧