加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
2.27.c 4.80 KB
一键复制 编辑 原始数据 按行查看 历史
王振宇 提交于 2022-03-03 21:39 . homework
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//void test(char* ch, int count)
//{
// char ch1;
// if (count > 0)
// {
// while (*ch != ' ')
// ch++;
// test(ch++, count--);
// }
// while (getchar() != '\0')
// {
// ch1 = getchar();
// printf("%c", ch1);
// ch++;
// }
//}
//int main()
//{
// int count = 0;
// char ch[101] = "";
// scanf("%[^\n]", &ch);
// while (*ch != '\0')
// {
//
// if (*ch == ' ')
// count++;
// }
// test(ch, count);
//// return 0;
////}
//
//int main()
//{
// unsigned char a = -1;
// printf("%d", a);
// return 0;
//}
//int main()
//{
// int n = 0;
// scanf("%d", &n);
// int i = 0;
// int j = 0;
// int k = n;
// int m = 0;
// int arr[50][50] = { 0 };
// arr[1][n] = 1;
// for (i = 1; i <= n; i++)
// {
// for (m = 1; m < k; m++)
// printf(" ");
// for (j = 1; j <= (2 * n - 1); j++)
// {
// arr[i + 1][j] = arr[i][j - 1] + arr[i][j + 1];
// if (arr[i][j] != 0)
// printf("%d ", arr[i][j]);
// }
// k--;
// printf("\n");
// }
// return 0;
//}
//int main()
//{
// char killer = 0;
// //分别假设凶手是a,b,c,d,看谁是凶手时满足3个人说了真话,一个人说了假话
// for (killer = 'a'; killer <= 'd'; killer++)
// {
// if (/*①*/(killer != 'a') + /*②*/(killer == 'c') + /*③*/(killer == 'd') + /*④*/(killer != 'd') == 3)
// //假设凶手为A时,① == 0,② == 0,③ == 0, ④ == 1。所以①+②+③+④ = 1 。
// //假设凶手为B时,① == 1,② == 0,③ == 0, ④ == 1。所以①+②+③+④ = 2 。
// //假设凶手为C时,① == 1,② == 1,③ == 0, ④ == 1。所以①+②+③+④ = 3 。
// //假设凶手为D时,① == 1,② == 0,③ == 1, ④ == 0。所以①+②+③+④ = 2 。
// //有此可知杀手为C。
// printf("凶手是:%c", killer);
// }
// return 0;
//}
//int main()
//{
// char F, S, T, F1, F2;
// char S;
// char T;
// char F1;
// char f2
// for (F = 'A'; F <= 'E'; F++)
// {
// for (S = 'A'; S <= 'E'; S++)
// {
// for (T = 'A'; T <= 'E'; T++)
// {
// if (S == F)
// break;
// for (F1 = 'A'; F1 <= 'E'; F1++)
// {
// if (T == S || T == F)
// break;
// for (F2 = 'A'; F2 <= 'E'; F2++)
// {
// if (F1 == F || F1 == S || F1 == T)
// break;
// if ((S == 'B') + (T == 'A') == 1 && (S == 'B') + (F1 == 'E') == 1 && (F == 'C') + (S == 'D') == 1 && (F2 == 'C') + (T == 'D') == 1 && (F1 == 'E') + (F == 'A') == 1)
// printf("第一名:%c\n第二名:%c\n第三名:%c\n第四名:%c\n第五名:%c", F, S, T, F1, F2);
// }
// }
// }
// }
// }
// return 0;
//}
//int main()
//{
// char killer;
// //先依次假设凶手为a,b,c,d
// for (killer = 'a'; killer <= 'd'; killer++)
// {
// //用if语句来进行判断,如果ABCD的话中是真话就会返回 1 否则就会返回 0 。
// if (/*①*/(killer != 'a') + /*②*/(killer == 'c') + /*③*/(killer == 'd') + /*④*/(killer != 'd') == 3)
// //其中(killer != 'a')就相当于题目中 A说:不是我
// //其中(killer == 'c')就相当于题目中 B说:是C
// //其中(killer == 'd')就相当于题目中 C说:是D
// //其中(killer != 'd')就相当于题目中 D说:C在胡说
// }
// return 0;
//}
int main()
{
char F;//第一名(First)
char S;//第二名(Second)
char T;//第三名(Third)
char F1;//第四名(Fourth)
char F2;//第五名(Fifth)
/*①*/for (F = 'A'; F <= 'E'; F++)
{
/*②*/for (S = 'A'; S <= 'E'; S++)
{
/*③*/for (T = 'A'; T <= 'E'; T++)
{
if (S == F)//防止拿到F(第一名)和S(第二名)的人重复,如果重复则会执行break
//跳出循环③到循环②中从而使得到S(第二名)的人进行更换
break;
/*④*/for (F1 = 'A'; F1 <= 'E'; F1++)
{
if (T == S || T == F)
break;
/*⑤*/for (F2 = 'A'; F2 <= 'E'; F2++)
{
if (F1 == F || F1 == S || F1 == T)
break;
if ((S == 'B') + (T == 'A') == 1 && (S == 'B') + (F1 == 'E') == 1 && (F == 'C') + (S == 'D') == 1 && (F2 == 'C') + (T == 'D') == 1 && (F1 == 'E') + (F == 'A') == 1)
printf("第一名:%c\n第二名:%c\n第三名:%c\n第四名:%c\n第五名:%c", F, S, T, F1, F2);
}
}
}
}
}
return 0;
}
//int main()
//{
// int n = 0;
// int arr[7] = { 0 };
// int i = 0;
// int j = 0;
// int s = 0;
// float sum = 0;
// float ave = 0;
// while (~scanf("%d", &n))//多组输入
// {
// scanf("%d %d %d %d %d %d %d", &arr[0], &arr[1], &arr[2], &arr[3], &arr[4], &arr[5], &arr[6]);
// for (j = 0; j < 6; j++)
// for (i = 1; i < 7; i++)
// {
// if (arr[i - 1] > arr[i])
// {
// s = arr[i - 1];
// arr[i - 1] = arr[i];
// arr[i] = s;
// }
// }
// for (i = 1; i < 6; i++)
// sum += arr[i];
// ave = sum / 5;
// printf("%.2f", ave);
// }
// return 0;
//}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化