gpt4 book ai didi

c - 输入一个字母,然后减去字母表

转载 作者:行者123 更新时间:2023-11-30 18:57:52 25 4
gpt4 key购买 nike

我正在制作一个程序,如果您输入一个字母,它会从列表中丢弃一个字母,任何人都可以帮助我。谢谢。

例如:(之前)

ABCDEFGHIJKLMNOPQRSTUVWXYZ输入字母:A

(输入字母“A”后)

_BCDEFGHIJKLMNOPQRSTUVWXYZ输入一个字母:

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

int main()
{
int alphabet[26];
char letter;
int i;
int j;

alphabet[0] = 'A';
for(i = 0;i < 26; i++)
{
alphabet[i] = alphabet[0];
printf ("%c", alphabet[i], alphabet[i]);
alphabet[0]++;
}

printf("\n\nenter the letter you want to remove in the alphabet: ");
scanf("%c", letter);

while(j<alphabet[i])
{
if(letter==alphabet[i])
{
j--;
}
}
}

问题是当我输入要删除的字母时,它没有删除字母表中的字母。请帮忙。谢谢。

编辑:最后一件事,我怎样才能使它只有一个输入?,我的意思是,如果我第二次输入相同的字母,它会说“你已经输入了那个字母”。

最佳答案

您假设这些字母是连续的,就像在 ASCII 中一样,但在 C 中您不能这样假设。

下一行有重复的参数:

   printf ("%c", alphabet[i], alphabet[i]);

删除最后一个字母[i]

你的最后一个 if() 句子是错误的:必须使用 == 进行比较。

根本不清楚你想做什么。

编辑:

我会这样做这个程序:

#include <stdio.h>

int main()
{
char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

char letter;

printf("Choose a letter: ");
letter = getchar();

printf("\n\n");

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

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

EDIT2:我更改了 alphabet 的声明,因为稍后必须修改字符串常量...

关于c - 输入一个字母,然后减去字母表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18960431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com