注:
1.下面这些为本人大学四年所用过的处理办法, 至今为止遇到的所有编程题都能够使用。如果需要了解更多关于putchar,cin.get,cin.getline等的请自行搜索。
2.getchar相当于获取一个字符,可以实现单个字符的输入以及通过循环实现多个字符输入,本人常将getchar用在吃掉换行符,比如输入一个整数换行再输入字符的情况。
2.c++包含c,也就是c的代码在c++中能运行使用,所以可以混合使用。
一、字符(单个字符)
#include<stdio.h>
int main(){char c;scanf("%c",&c);printf("%c",c);return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){char c;cin>>c;cout<<c;return 0;
}
二、字符串(多个字符,相当于一维字符数组)
1.直接输入输出
#include<stdio.h>
int main(){char s[5];//使用字符数组scanf("%s",&s);//scanf("%s",s);不加取地址也可以//scanf("%[^\n]",s); 通用//如果s有空格输入,则不能使用scanf("%s",&s);,scanf("%s",&s);遇到空格便会结束printf("%s",s);//如果使用第二种输出有格式错误,尝试循环输出或将char s[5]={0},类似初始化;return 0;
}
#include<stdio.h>
int main(){char s[5];gets(s);puts(s);return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){string s;//c++的stringcin>>s;//getline(cin,s);通用//如果s有空格输入,则不能使用cin,cin遇到空格便会结束 cout<<s;return 0;
}
2.循环输入输出(还有一种是题目给出循环长度,不予赘述)
#include<stdio.h>
int main(){char c;while(scanf("%c",&c)!=EOF){printf("%c",c);}return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){char c;while(cin>>c){cout<<c;}return 0;
}
3.字符串循环处理 (介绍循环结束条件)
#include<stdio.h>
#include<string.h>
//需要加string.h头文件才能使用相关函数
int main(){char c[5]={'1','2','3','4','5'};for(int i=0;i<5;i++)//这里的5不是表面上的字符数组长度,而是里面的实际长度//for(int i=0;i<strlen(c);i++)//for(int i=0;i<sizeof(c);i++)return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){string s="12345";for(int i=0;i<s.size();i++)
// for(int i=0;s[i]!='\0';i++)字符串结尾为'\0'。
// for(int i=0;i<s.length();i++)return 0;
}
三、二维字符数组和字符串数组参考二维整型数组并结合以上知识点