求各位看看哪里错了,还有函数tolower和toupper是可以直接调用吗?

lalalallalalalala 2015-07-26 01:17:24
#include<stdio.h>
#include<string.h>
int main()
{
int n,i;
char a[1000];
while(scanf("%d,&n")==1&&n!=0)
{
for(i=0;i<n;i++)
scanf("%c",&a[i]);
for(i=0;i<n;i++)
{
if('a'<=a[i]&&a[i]<='z')
a[i]=toupper(a[i]);
else if('A'<=a[i]&&a[i]<='Z')
a[i]=tolower(a[i]);
else a[i]=a[i];
}
for(i=0;i<n;i++)
printf("%c",a);
printf("\n");
}
return 0;
}
...全文
178 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mymtom 2015-07-29
  • 打赏
  • 举报
回复
引用 3 楼 fly_dragon_fly 的回复:
可以直接用的,不过就直接大小写转化没什么必要用
while(scanf("%d",&n)!=EOF&&n){
        for(int i=0; i<n; i++){
            scanf("%c",&a[i]);
            if(isalpha(a[i])) a[i]^=0x20;
            putchar(a[i]);
        }
    }
    
这个代码不能移植到其它编码的平台上。
mymtom 2015-07-28
  • 打赏
  • 举报
回复
简单的事情为什么要做成这么复杂?

#include <ctype.h>
#include <stdio.h>

int
main(void)
{
    int  c;

    while ((c = getchar()) != EOF) {
        if (islower(c)) {
            c = toupper(c);
        } else if (isupper(c)){
            c = tolower(c);
        }
        putchar(c);
    }

    return 0;
}
赵4老师 2015-07-28
  • 打赏
  • 举报
回复
VS IDE中,在不明白的符号上点鼠标右键,选转到定义。
fly_dragon_fly 2015-07-28
  • 打赏
  • 举报
回复
可以直接用的,不过就直接大小写转化没什么必要用
while(scanf("%d",&n)!=EOF&&n){
        for(int i=0; i<n; i++){
            scanf("%c",&a[i]);
            if(isalpha(a[i])) a[i]^=0x20;
            putchar(a[i]);
        }
    }
    
paschen 2015-07-26
  • 打赏
  • 举报
回复
添加头文件:#include <ctype.h>

69,371

社区成员

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

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