C语言 功能:将字符串中的小写字母转换为对应的大写字母,其他字符不变
#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() 函数。
推荐于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
*/
*temp;
while(*temp){
*temp
=
*temp+32;
temp++;
}
因为不知道你字符的长度,所以用的一个指针,如果知道就用一个for循环,让字符串中的每个字符加32或是减32就可以了。还因为在C中对字符串的传递是传地址所以不用返回语句。自己试下哦
char* str2upper(char *str)
{
char *p = str;
while (*str){
*str = toupper(*str);
str++;
}
return p;
}
#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);
}