问题7

shizuniao 2005-04-22 09:47:22
7,编写一个程序,要求:函数fun(char *s)的功能是将字符串s中的小写字母变成大写字母,大写字母变成小写字母,其他字符不变,在主函数中,把10个非0 整数输入到数组a并调用函数fun(),最后输出结果
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pcboyxhy 2005-04-22
  • 打赏
  • 举报
回复
void fun(char *s)
{
while(*s)
{
if( (*s>='A') && (*s=<'Z') ) *s += 32;
if( (*s>='a') && (*s=<'z') ) *s -= 32;
s++;
}
}
llf_hust 2005-04-22
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<ctype.h>
char *fun(char *s)
{
char *p , *p1;
p = s;
p1 = s;
for (; *p != '\0'; p++)
if (*p >= 'a' && *p <= 'z')
*p -= 32;
else if( *p >= 'A' && *p <= 'Z')
*p += 32;
return p1;
}

main()
{
char s[20], *q;
clrscr();
gets(s);
q = fun(s);
printf("%s", q);
getche();
}
zengwujun 2005-04-22
  • 打赏
  • 举报
回复
#include <stdio.h>
void fun(char *s)
{
int len=0;
char *p;
p=s;
while(*p++)
{
len++;
}
for(int i=0;i<len;++i)
{
if('a'<=s[i] && s[i]<='z')
s[i]=s[i]-'a'+'A';
else if('A'<=s[i] && s[i]<='Z')
s[i]=s[i]-'A'+'a';
}
}

void main()
{
char s[11]="abcABC45";
fun(s);
printf("%s\n",s);
}
vcmute 2005-04-22
  • 打赏
  • 举报
回复
我的,还可以再简,懒得想了
while(*s)
{
if( ( (*s>='A') && (*s<='Z') ) ||( (*s>='a') && (*s<='z') ))
*s ^=0x20;
s++;
}
vcmute 2005-04-22
  • 打赏
  • 举报
回复
楼上的改改
void fun(char *s)
{
while(*s)
{
if( (*s>='A') && (*s<='Z') ) *s += 32;
else if( (*s>='a') && (*s<='z') ) *s -= 32;
s++;
}
}

69,375

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧