输入十个字符(可能是数字也可能是字母)然后输出

来源:互联网 发布:数据蒙特卡洛 编辑:程序博客网 时间:2024/05/03 06:54
#include <stdio.h>

int main(int argc, const char * argv[]) {
    int c[100];
    char ch[100],f = 0 ;
    int  i ,j;
    f = getchar() ;//用来接收输入的第一个数,用此来判断输入的是数字还是字母,注意:f是char类型!!
   // printf("输入的第一个数是:%d\n",f );

    if ((f >=65 && f <= 90)||(f >= 97 && f <= 122)) {//如果是字母则把j赋值为1
        j = 1;
    }else if (f >=48 && f <= 57){//如果是数字就把j赋值为0;注意:此方法不仅可以判断一位数是否是数字,而且可以判断多位数
           j = 0;
        }
    if (j == 1) {//如果是字符,则用字符数组存放
        ch[0] = f ;//把第一存放用getchar接收得值
        for (i = 1; i<10; i++) {
            scanf("%c",&ch[i]);
            //            printf("%c",ch[i]);
        }
        for (i = 0; i<10; i++) {
            printf("%c ",ch[i]);
        }

    }else if (j == 0){//如果是数字,则用int 数组存放
        c[0] = f - 48;//因为f 是char 型 而char在内存中字符都是用ASCII值存放的,所以要减48,不然 c[i],数组中存放的是数字的ASCII值
        for (i = 1; i<10; i++) {
            scanf("%d",&c[i]);
        }
        for (i = 0; i<10; i++) {
            printf("%d ",c[i]);
        }
    }
    printf("\n");
    return 0;
}

0 0
原创粉丝点击