uj5u.com熱心網友回復:
char chArray[500] = {0};
printf("請輸入一串資料:");
int nlen = scanf_s("%s", chArray, 500);
for(int i=0; chArray[i] != '\0'; i++)
{
if (chArray[i] >= 'a' && chArray[i] <= 'z')
{
chArray[i] = 'A' + chArray[i] - 'a' + 1;
}
else if (chArray[i] >= 'A' && chArray[i] <= 'Z')
{
chArray[i] = 'a' + chArray[i] - 'A' + 1;
}
}
printf("\n%s\n", chArray);
uj5u.com熱心網友回復:
這個題還有兩種特殊情況 輸入z或者Z,不能套用if,此時要輸出為A和a
uj5u.com熱心網友回復:
是的,修改一下
char chArray[500] = {0};
printf("請輸入一串資料:");
int nlen = scanf_s("%s", chArray, 500);
for(int i=0; chArray[i] != '\0'; i++)
{
if (chArray[i] >= 'a' && chArray[i] < 'z')
{
chArray[i] = 'A' + chArray[i] - 'a' + 1;
}
else if (chArray[i] >= 'A' && chArray[i] < 'Z')
{
chArray[i] = 'a' + chArray[i] - 'A' + 1;
}
else if (chArray[i] == 'z')
{
chArray[i] = 'A';
}
else if (chArray[i] == 'Z')
{
chArray[i] = 'a';
}
}
printf("\n%s\n", chArray);
uj5u.com熱心網友回復:
大佬,我剛學c++還不會c,請問如果用c++
在for回圈里判斷是否為空格那個地方怎么寫呀,
就是charray[i]!=‘0’這一句
uj5u.com熱心網友回復:
改這個:scanf_s("%[^\n]", chArray, 500);
uj5u.com熱心網友回復:
或者用gets_s(chArray, 500);代替uj5u.com熱心網友回復:
或者用gets_s(chArray, 500);代替
謝大佬


uj5u.com熱心網友回復:
void crypt_char(char *str)
{
int i = 0;
while (str[i]) {
if (isupper(str[i]))
str[i] = (str[i] + 1 - 'A') % 26 + 32 + 'A';
if (islower(str[i]))
str[i] = (str[i] + 1 - 'a') % 26 - 32 + 'a';
i++;
}
}
供參考~
uj5u.com熱心網友回復:
void crypt_char(char *str)
{
int i = 0;
while (str[i]) {
if (isupper(str[i]))
str[i] = (str[i] + 1 - 'A') % 26 + 'a';
else if (islower(str[i]))
str[i] = (str[i] + 1 - 'a') % 26 + 'A';
i++;
}
}
供參考~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/115987.html
標籤:C語言
上一篇:為什么我的字符陣列最后一個為空,而且第一個值的下標為1
下一篇:c++寫建構式就出錯 求助
