Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何检查信件是否已阅读_C_User Input - Fatal编程技术网

C 如何检查信件是否已阅读

C 如何检查信件是否已阅读,c,user-input,C,User Input,有人能帮我吗?如果一封信被再次输入,我的程序如何读取,从而提示“信已读” 这是我的密码: #include <stdio.h> #include <string.h> #include <conio.h> int main() { char alphabet[26] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; char letter; int i; for(i = 0; i < 26; i++)

有人能帮我吗?如果一封信被再次输入,我的程序如何读取,从而提示“信已读”

这是我的密码:

#include <stdio.h>
#include <string.h>
#include <conio.h>

int main()
{
    char alphabet[26] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    char letter;
    int i;
    for(i = 0; i < 26; i++)
    {
    printf("%s\n\n", alphabet);
    printf("Choose a letter: ");
    letter = getchar();

    printf("\n\n");

    for(i = 0; i < 26; i++)
    {
        if (letter == alphabet[i]) 
         {
            alphabet[i] = '_';
            break;   /* This terminates the for() loop */
         }        


    }
     printf("Result: %s\n", alphabet);

     }

}
#包括
#包括
#包括
int main()
{
字符字母[26]=“ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
字符字母;
int i;
对于(i=0;i<26;i++)
{
printf(“%s\n\n”,字母表);
printf(“选择一个字母:”);
letter=getchar();
printf(“\n\n”);
对于(i=0;i<26;i++)
{
如果(字母==字母表[i])
{
字母表[i]='';
break;/*这将终止for()循环*/
}        
}
printf(“结果:%s\n”,字母表);
}
}

如果您的输入仅由大写字母组成,则当且仅当您到达内部循环的末尾时,即如果字母表中未找到该字母,因为该字母已被替换为
\u
。检查这一点的一种方法是检查内部循环后
i
是否等于26。稍微干净一点的方法是使用布尔值来指示是否打破了内部循环

现在,如果您的输入可以是任何字符,最好使用单独的数组来跟踪已提供的字母,而不是替换
字母表中的字母。你可以:

const char alphabet[26] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int count[26] = {0};


跟踪每个字母的确切提供次数。

我不完全理解您的代码,在我看来,它是php与javascript的混合体。无论如何如果由我决定,我会采取不同的方法,假设我们在这里讨论的是php,尽管您可以在javascript中执行相同的操作,但首先创建一个数组。每次输入字母时,我都会检查字母是否在数组中。如果是的话,你可以弹出一个警告,说已经输入了字母,如果不是,就在数组中“推”该字母

像这样的

<?php  
$a = array();  
$input is "a";  
if (in_array($input, $a)) // if the letter "a" ($input) is in the array...  
    {  
    echo "This letter was already entered.";  
    }
else // if it's not in the array  
    {  
    array_push($a, $input); // add the letter ($input) to the array  
    }
?>

那相当容易。您可能有另一个大小为26的数组,并使用all false初始化,每当您获得一个字符时,您将相应的槽设置为true。然后当你得到一个字符并想检查它是否已经被输入时,你只需要检查对应的槽是否为真


顺便说一句,我认为你不希望内部for循环也使用I。您可能需要使用另一个变量,例如j,因为外部for循环使用i作为控制器,这可能会导致问题。

我认为您应该有一个输入字母数组,如果没有,您可以使用两个变量

char prevletter;
char latestletter;
在此,您可以比较前一个字母是否等于最新的字母

latestletter = getchar();

if (prevletter == latestletter)
{
printf("Alredy inputted this");
}

else 
{
prevletter =latestletter;
}
如果您想知道某个字母是否不是连续输入的,而是在其他尝试后重复输入的,则此代码仅适用于连续字母。您可以使用数组

     char inputletters[xx];

use for loop to check if it exist in the array if yes `printf the warning else continue`

  char inputletters[xx];

  for(i = 0; i < xx; i++)
    {
        if (letter == inputletters[i]) 
         {
           printf("AlreadyInputed");

           Break;
         }        


    }
char输入字母[xx];
使用for循环检查数组中是否存在它如果是`打印警告否则继续`
字符输入字母[xx];
对于(i=0;i

然后,如果输入的字母数组中不存在输入的字母,请在此处执行插入该字母的过程

我如何打印该字母在此之后已输入?在增加计数之前,您可以测试计数是否大于零。如果是,那么这封信已经提供了。我不会为你做的。我给了你很多提示。尝试一些事情,尽你所能,如果你仍然被困,问一个新问题。hindi ko po magets爵士。甘托。。gumawa ka nang数组isa pa dun mo ilalagay ung mga输入字母,tapos kada输入字母,tapos kada输入代码ko sa taas。循环iccheck的下一个输入是nasa laman ng aarray mo.pag wala Ipsok mo sya的下一个输入是tapos gawin mo流程的下一个输入是kung merun nman iprintf mo已经输入了un:)啊,所以dapat
字符字母[27]:“abcdefghijklmnopqrstuvxyz
at
字符输入字母[27]
at
char letter
ang laman ng code ko ganun po ba?哈哈pwede makipagfriends sayo tol,grabe marami pa akong di alam sa编程kaya matanong ako eh,pati minsan talaga nahihirapan ako。呵呵,很抱歉没有说英语伙计:)@user2803376是的,每次输入后检查输入字母如果当前输入ted字母已经存在如果是,提示用户,如果否,将当前字母包含在数组中,执行您需要执行的其他过程。@user2803376我不想给出代码。这不是一个您可以轻松获得答案的地方。我相信思考过程对您来说更具可评估性。
latestletter = getchar();

if (prevletter == latestletter)
{
printf("Alredy inputted this");
}

else 
{
prevletter =latestletter;
}
     char inputletters[xx];

use for loop to check if it exist in the array if yes `printf the warning else continue`

  char inputletters[xx];

  for(i = 0; i < xx; i++)
    {
        if (letter == inputletters[i]) 
         {
           printf("AlreadyInputed");

           Break;
         }        


    }