32.字符串

getchar()获取一个字符;putchar()输出一个字符

gets()获取一个字符串:puts()输出一个字符串

输入一行电报文字,将字母变成其下一字母(如’a’变成’b’……’z’变成’a’其它字符不变)。

输入:输入一行字符                eg:a b

输出:加密处理后的字符      b c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>  //写字符时必须加上 的头文件

int main()
{
   char str[100];
   gets(str);
   int i;
   for(i=0;i<strlen(str);i++)
   {
       if(str[i]>='a'&&str[i]<='z')
       {
           str[i] +=1;
       }
   }
   puts(str);
   return 0;
}

用getchar()

#include <stdio.h>
#include <stdlib.h>
#include <string.h>  //写字符时必须加上 的头文件

int main()
{
    char c;
    while((c=getchar())!='
')  //这一行很棒,加糖
    {
        if(c>='a'&&c<='z'||c>='A'&&c<='Z')
        {
             if(c=='z'||c=='Z')
                c -=25;
             else
                c +=1;
             printf("%c",c);
        }
        else
            printf("%c",c);
     }

return 0;
}

题目: 输入三个字符串,按由小到大的顺序输出

输入:3行字符串

输出:按照从小到大输出成3行

样例输入:

cde

afg

abc

样例输出:

abc
afg
cde

解题思路:

1、字符串比较大小的函数strcmp(char *a, char *b)

    a) a == b 返回0

    b)a < b 返回负值

    c) a > b返回正值

2、字符串拷贝函数 strcpy(char *a, char *b),将字符串b拷贝到字符串a中。

#include<stdio.h>
#include<string.h>
#define zz 100      //注意定义字符串数组时,值不要太小,太小了会出现运行错误。
int main()
{
    char a[zz],b[zz],c[zz];
    char x[zz];//空容器

    scanf("%s
 %s
 %s",&a,&b,&c);//获取字符串

    if(strcmp(a,b)>0)//比较1,并进行交换。
    {
        strcpy(x,a);
        strcpy(a,b);
        strcpy(b,x);
    }
    if(strcmp(a,c)>0)//比较2,并进行交换。
    {
        strcpy(x,a);
        strcpy(a,c);
        strcpy(c,x);
    }
    if(strcmp(b,c)>0)//比较3,并进行交换;
    {
        strcpy(x,b);
        strcpy(b,c);
        strcpy(c,x);
    }

    printf("%s
%s
%s
",a,b,c);//输出交换后的字符串。

    return 0;
}
原文地址:https://www.cnblogs.com/spore/p/10504015.html