C语言 功能:将字符串中的小写字母转换为对应的大写字母,其他字符不变

#include "string.h"
#include "stdio.h"
void change(char str[])
{

}
请问{中间该填什么}
请问根据#include "string.h"
#include "stdio.h"
void change(char str[])
的前提{}的中间具体填的是什么

源代码如下:

#include "stdio.h"

#include "conio.h"

char *toDaXie(char *s);/*函数--变大写*/

main()

{

char *s;

printf("Input a string please!\n");

gets(s);

printf("The result:\n%s\n",toDaXie(s));

getch();

}

char *toDaXie(char *s)/*函数--变大写的具体内容*/

{

int i;

for(i=0;i96&&s[i]<123)/*如果这个字是小写字母*/

s[i]-=32;/*那就把它变成大写*/

}

return s;
}

扩展资料

1、在C++程序开发中,程序员需要使用 for() 循环语句时,常常将循环遍历定义在 for() 内部。

2、C语言程序的“短路表达式”决定了只有 executeStepA() 函数成功才会接着执行 executeStepB() 函数,只有 executeStepB() 函数也成功,才会执行 executeStepC() 函数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-25

思路:因为小写字母与其对应的大写字母的ASCII码值相差32,则可以定义一个函数,直接遍历输入的字符串,判断该字符是否是小写字母,如果是则自减32即可。

参考代码:

#include<stdio.h>
void change(char str[])
{
int i;
for(i=0;str[i]!='\0';i++)
if(str[i]>='a'&&str[i]<='z')
str[i]-=32;
}
int main()
{
char a[100];
gets(a);
change(a);
puts(a);
return 0;
 }
/*
asdfASDF234asdf
ASDFASDF234ASDF
*/

第2个回答  2019-12-09
char
*temp;
while(*temp){
*temp
=
*temp+32;
temp++;
}
因为不知道你字符的长度,所以用的一个指针,如果知道就用一个for循环,让字符串中的每个字符加32或是减32就可以了。还因为在C中对字符串的传递是传地址所以不用返回语句。自己试下哦
第3个回答  推荐于2017-09-02
/ 把字符串转换为大写
char* str2upper(char *str)
{
char *p = str;
while (*str){
*str = toupper(*str);
str++;
}
return p;
}本回答被提问者采纳
第4个回答  2008-12-28
#include "string.h"
#include "stdio.h"
#include<ctype.h>
void change(char str[])
{
int i;
for(i=0;str[i]!='\0';i++)
str[i]=toupper(str[i]);
}
void main()
{
char str[]="HJjakdKJH";
change(str);
printf("%s",str);
}
相似回答