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; }