gpt4 book ai didi

c - C中使用函数将字符串转换为大写和小写

转载 作者:太空宇宙 更新时间:2023-11-04 06:10:12 26 4
gpt4 key购买 nike

这是家庭作业,这是给我的任务:
以大写和小写形式打印字符串
在中间拆分字符串并打印两部分之间的“- ”要求:

将字符串转换为大写和小写必须在函数中完成。这些函数必须不返回任何内容 (void) 并被调用:string_upper、string_lower。
不要使用 strlwr 或 strupr。

注意:字符串长度总是偶数。

预期输出(将您收到的字符串作为输入):

大写的字符串是'ABCDEFGH'
小写的字符串是'abcdefgh'
一分为二的字符串是 'abcd - efgh'

我设法想出了一些可行的方法,但它没有使用任务中所需的函数。你如何用函数做到这一点?

我环顾四周,但找不到任何使用函数将字符串转换为大写和小写的示例

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

int main() {

char inputString[100], leftHalf[100], rightHalf[100];
int length, mid, i, k;

/* Read input string from user using gets */
printf("Enter a string\n");
gets(inputString);
/* Find length of string using strlen function */
length = strlen(inputString);

mid = length/2;
/* Copy left half of inputString to leftHalf */
for(i = 0; i < mid; i++) {
leftHalf[i]= inputString[i];
}
leftHalf[i] = '\0';

/* Copy right half of inputString to rightHalf */
for(i = mid, k = 0; i <= length; i++, k++) {
rightHalf[k]= inputString[i];
}

for(i=0;i<=strlen(inputString);i++)
{
if(inputString[i]>=65&&inputString[i]<=90)
inputString[i]=inputString[i]+32;
}
printf("String in Lowercase: %s\n",inputString);
/* To print string in upperCase*/
for(i=0;i<=strlen(inputString);i++)
{
if(inputString[i]>=97&&inputString[i]<=122)
inputString[i]=inputString[i]-32;
}
printf("String in Uppercase: %s\n",inputString);


/* Printing left and right half of string */
//printf("Left half : %s\n",leftHalf);
//printf("Right half : %s\n",rightHalf);
printf("%s-%s",leftHalf, rightHalf);

return 0;
}

最佳答案

要创建函数,只需删除函数的代码(例如 for 循环)。不要忘记声明辅助变量(例如 int i)。像这样

void string_upper (char *inputString)
{
int i;
for(i=0;i<=strlen(inputString);i++)
{
if(inputString[i]>=65&&inputString[i]<=90)
inputString[i]=inputString[i]+32;
}
}

然后在你的主代码中,你调用

string_upper (inputString);

而不是那里的 for 循环。

对 string_lower 做类似的事情。

关于c - C中使用函数将字符串转换为大写和小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58613783/

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