C语言WIFI密码pta循环结构,且不用数组,哪里搞错了呢,可以一直回车但不能输出
n没初始化,行数n要输入,
if里判断p
输出的是m-'A'+1,而不是j+1
修改如下,供参考:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,j,flg;
char m,p,psw[9]={0};
scanf("%d", &n);
getchar();
for (i = 0; i < n; i++)
{
for (j = 0, flg = 1; j < 4; j++)
{
scanf(" %c-%c", &m, &p);
getchar();
if (p == 'T'){
flg = 0;
psw[i] = m - 64 + '0';
}
}
if (flg) psw[i] = '0';
}
psw[i] = '\0';
puts(psw);
return 0;
}
/*
8
A-T B-F C-F D-F
C-T B-F A-F D-F
A-F D-F C-F B-T
B-T A-F C-F D-F
B-F D-T A-F C-F
A-T C-F B-F D-F
D-T B-F C-F A-F
C-T A-F B-F D-F
*/