ccf日常笔记
1.数组等一定要开到题中要求的那个大小,不然提交可能会报错
2.二维数组不要开太大,不然可能会运行时闪屏退出
3. 开大数组时要放为全局变量
4.如果结果是输出一个字符,必须用printf用cout会报错(print也会报错),printf("%c",word[i]);而非cout<<word[i]
5.想要输入一个字符串需要#include<string>
3.输入一个不知道几位的东西可以用是string,然后直接求其长度,字符可直接比较,数字比较字符串或强转为int类型也可以比较
7.如果有比较两个数字或多个东西时,必须要分别相等!!!如下
if (str[i] == 'G'|| str[i]=='g')
8.如果 if (str[i] == ‘G’|| ‘g’) 这种写法是会报错的!!!
9.求一个数有多少位****求一个数有多少位
#include <stdio.h>
void main()
{
int x,b=0;
scanf("%d",&x);
while(x>0)
{
x=x/10;
b++;
}
printf("%d ",b);
}
10.当空格作为字符输入时的写法
string str[10];//创建一个字符数组
int n;
cin >> n;
getchar();//输完数据后吸收换行
for (int i = 0; i < n; i++) {
getline(cin, str[i]);//输入第i个字符串数组
}
for (int i = 0; i < n; i++) {
cout << str[i] << endl;
}
//如果想输出每个字符串的字符,可以用这种办法,并可在其中对每个字符进行比较
for (int i = 0; i < n; i++){
for (int j = 0; j < str[i].length(); j++) {
if(str[i][j])
cout << str[i][j];
}
cout << endl;
}
%d就是普通的输出了
%2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格
%02d,和%2d差不多,只不过左边补0
%.2d没见过,但从执行效果来看,和%02d一样
%f与d的效果一样,%.02f,小数部分两位,不够的补0够的不管
但是%02f没有任何用
11.求个位十位百位等等,就记住/1%10,/10%10,/100%10,是几位就除多少再对10取余
12.double a;
scanf("%f",&a); //应用scanf("%lf",&a);
执行上面语句时,发现double类型的输入不能使用%f进行输入,得用%lf才能正常得到a的值。
而在输出double类型时却可以用%f,这是因为printf("%f",a);在执行时C自动将double型的参数转换成flaot型。