注册 登录
编程论坛 C++教室

新手问题求纠错

fengao 发布于 2012-11-15 21:00, 428 次点击
题目:    从键盘上输入一个只包含大小写字母和数字字符的字符串,对该字符串做如下处理后输出:大写字母变小写、小写变大写,若是数字字符则删掉。
#include<iostream.h>
#include<ctype.h>
#include <string.h>
#include <stdio.h>
void main()
{
    char a='a';
    char A='A';

    int i;
    char b[10];
    cout<<"请输入一串字符";
    cin>>b;
    int n=strlen(b);
    for(i=0;i<n;i++)
    {
        if (b[i]>a)
            b[i]=b[i]-32;
        if (A<b[i]<a)
            b[i]=b[i]+32;
    }
    for(i=0;i<n;i++)
        cout<<b;
}
但是运行起来还是不对,不知道怎么回事....
3 回复
#2
JimQ2012-11-15 22:15
最后一行cout<<b改成cout<<b[i],你这是疏忽了吧 ,仔细点啊
#3
mmmmmmmmmmmm2012-11-16 09:21
我也是新手  写了一个 一起学习哈
程序代码:
#include <iostream>
#include <string>
using namespace std;

int main(void)
{
    string str;
    cout << "please input : ";
    cin >> str;

    string::iterator it = str.begin();
    while (it != str.end())
    {
        if (*it >= 'a' && *it<='z')
            cout<<(char)(*it-32);
        else if (*it >= 'A' && *it<='Z')
            cout<<(char)(*it+32);
        
        it++;
    }


    return 0;
}
#4
mmmmmmmmmmmm2012-11-16 09:29
楼主 帮你修改了一下 你看看哈
程序代码:


#include<iostream.h>
#include<ctype.h>
#include <string.h>
#include <stdio.h>
void main()
{
   
    int i;
    char b[1024]; //数组来大点哈,要不都装不下
    cout<<"请输入一串字符";
    cin>>b;
    int n=strlen(b);
    for(i=0;i<n;i++)
    {
        if (b[i]>='a' && b[i]<='z')
            cout<<(char)(b[i]-32);
        else if (b[i]<='Z' && b[i]>='A')
            cout<<(char)(b[i]+32);

    }

}
1