1.
char a[10]; scanf("%s",a); 如果想让输入字符串的首字符从a[1]开始储存:scanf("%s",a+1);
char b[10][5];
for(int i = 0;i < 10;i++){
scanf("%s",b[i]); //如果想让输入字符串的首字符从b[i][1]开始储存:scanf("%s",b[i]+1);
}
2.
输入格式如下:
0:(3)
我们想从输入中获得到那两个数字:scanf("%d:(%d)",&m,&n);
3.输出别忘了\n 例如:printf("%d\n",m);
4.头文件别忘了添上,还有using namespace std;
5.注意题里要求的是输出结果还是作为函数的返回值return结果,如果要求输出结果别忘了打印
6.swap函数要引头文件#include<iostream>
7.如果读入字符scanf("%c",&ch)之前已经读入过东西,就要写成scanf(" %c",&ch),否则上一行的换行符就会错误的被读入
读入字符串时不用考虑这个!
8.传参二维数组:数组:int a[2][2]={1,2,3,4};
主函数调用:call(a,n);
被调用函数:void call(int a[][2],int n);
9.scanf对于float类型必须用%f,double必须用%lf
printf中没有定义%lf,要想保留小数位数,请使用(比如保留8位小数):printf("%.8lf",a);
10.cin、scanf遇空格就会停止录入
11.gets(s)会读取一行,包含空格(有空格分隔也会继续读取完一整行)
12.c++中输入string类型不能用scanf因为scanf是针对c语言中的基本数据类型,c++输入string要使用getline(cin,s),所以尽量都用char型数组声明字符串,减少麻烦