目录
第一章 入门
例题&笔记
- 整/整=整;整/浮=浮/浮=浮
- printf("%03d\n", )不足补0 ;printf("%3d\n", )不足补空格;
- printf("\\n");输出\n
- const double pi = acos(-1.0); //尽量用const声明常数
习题
1-1
#include<stdio.h>
//求三个数的平均数保留三位
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%.3lf",(a+b+c)/3.0); //整/浮=浮/浮=浮
return 0;
}
1-2
#include<stdio.h>
//连续和
int main(){
int n;
scanf("%d",&n);
printf("%d",(n+1)*n/2); //目标是解决问题
return 0;
}
1-4
#include<stdio.h>
#include<math.h>
#define PI 3.14159265
//sin/cos
int main(){
int n;
double val = PI / 180; //度数要转化为弧度!!!
scanf("%d",&n);
printf("sin=%.3lf,cos=%.3lf",sin(n*val),cos(n*val));
return 0;
}
1-5
#include<stdio.h>
//打折
int main(){
int x;
double y;
scanf("%d",&x);
y=95*x;
if(y>=300)
y*=0.85;
printf("%.2lf",y);
return 0;
}
1-6
#include<stdio.h>
//三角形
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
//排序
if(b>a){
int t=a;
a=b;
b=t;
}
if(c>a){
int t=a;
a=c;
c=t;
}
if(c>b){
int t=b;
b=c;
c=t;
}
if((c+b)>a){
if(a*a==b*b+c*c) printf("yes");
else printf("no");
}
else printf("not a tri");
return 0;
}
1-7
#include<stdio.h>
//年份
int main(){
int n;
scanf("%d",&n);
if((n%4==0&&n%100!=0)||n%400==0) printf("yes");
else printf("no");
return 0;
}
第二章 循环
例题&笔记
- 判断x是否为整数:x==floor(x+0.5) //考虑浮点运算误差
- 多次 + - * 后对n取余,可每步取余
- 多组数据注意共用变量的重置
- 嵌套代码块有同名变量,内层屏蔽外层
- continue//直接进行下一次循环 ; break//直接跳出循环
- 在循环体中定义的变量,每次执行循环体会重新声明和初始化
int c [-231,231-1];
long long c [-263,263-1];
1e-6 //10-6
- 计时器:
#include<time.h>
time = (double)clock()/CLOCKS_PER_SEC//单位秒,结束时使用
管道echo 20|abc //Windows命令行
重定向(区别于I/O流)的比赛代码(2-10)
while(scanf(“%d”,&x)==1){循环体};//输入结束:Enter Ctrl+Z Enter(win)/Ctrl+D(Linux)
习题
2-1
#include<stdio.h>
//水仙花
int main(){
for(int i=100;i<1000;i++){
int a=i/100;