- 博客(11)
- 收藏
- 关注
原创 算法竞赛入门经典(第2版)习题2-4详解
#include <stdio.h>#define MAXN 100double a[MAXN]={0};int main(){ int n,m,count=0; while(1) { scanf("%d%d", &n, &m); if(n==0&&m==0) { break; }
2016-06-22 10:17:39 1994 1
原创 算法竞赛入门经典(第2版)习题2-3详解
画图分析: #include <stdio.h>int main(){ int n; scanf("%d", &n); int i,j,k; for(i=1;i<=5;i++)//外层循环控制行数 { //第一个循环:打印空格 for(j=1;j<i;j++) { printf("
2016-06-21 22:09:48 870
原创 算法竞赛入门经典(第2版)习题2-2详解
#include <stdio.h>//因为此题的题目使用文件进行输入的,但考虑到各人的文件路径不一样,//我在这里就不用文件输入了。所以代码与题目的输入输出方式有一些不一样,//但算法的核心都是没变的:就是根据题目所说的人数在10-100之间,所以写一个循环遍历,//然后加个if判断语句,其实就是将人数分别与3,5,7取余数,是否符合 int main(){ int a,b,c,
2016-06-21 18:50:24 486
原创 算法竞赛入门经典(第2版)习题2-1详解
#include <stdio.h>//这道题其实就是一个循环,分别求出每个数个十百位,然后将它们的立方相加,判断和是否和本身相等即可int main(){ int i; for(i=100;i<=999;i++) { int a=i/100;//十位 int b=i/10%10;//百位 int c=i%10;//个位
2016-06-21 16:54:16 397
原创 算法竞赛入门经典(第2版)习题1-7详解
#include <stdio.h>int main(int argc, char *argv[]) { int n; scanf("%d", &n); //判断方法:能被4整除而不能被100整除或者能被400整除 if((n%4==0&&n%100!=0)||(n%400==0)) { printf("yes\n"); }
2016-06-21 16:39:19 521
原创 算法竞赛入门经典(第2版)习题1-6详解
#include <stdio.h>int main(){ int a,b,c; scanf("%d%d%d", &a,&b,&c); //首先判断能不能构成三角形,三角形的条件:任意两边之和大于第三边,任意两边之差小于第三边 if(a+b<=c||a+c<=b||b+c<=a||a-b>=c||a-c>=b||b-a>=c||b-c>=a||c-a>=b||c-b
2016-06-20 22:18:46 417
原创 算法竞赛入门经典(第2版)习题1-5详解
#include <stdio.h>//就是一个if/else判断问题,很简单int main(){ int n; scanf("%d", &n); float res=95*n; if(res<300) { printf("%.2f\n", res); } else { printf("%.2f\
2016-06-20 22:00:35 512
原创 算法竞赛入门经典(第2版)习题1-4详解
#include <stdio.h>#include <math.h>#define pi 4.0*atan(1.0)//这道题涉及到的其实就是math里面一些函数的调用 int main(){ int n; scanf("%d", &n); printf("%lf\n", sin((pi*n)/180)); printf("%lf\n", cos((pi*n)
2016-06-20 21:50:11 388
原创 算法竞赛入门经典(第2版)习题1-3详解
#include <stdio.h>//文艺青年写的代码 void f1(int n){ //注意本题相当于是一个等差数列求和的问题 //等差数列求和公式:n*(n+1)/2 int res=n*(n+1)/2; printf("%d\n", res);}//普通青年写的代码void f2(int n){ int i, res=0; //从
2016-06-20 21:23:46 506
原创 算法竞赛入门经典(第2版)习题1-2详解
#include <stdio.h>//这道题没什么多说的,直接写代码 int main(){ float f; scanf("%f", &f); printf("%.3f\n", 5*(f-32)/9); return 0;}运行结果:
2016-06-20 20:45:12 412
原创 算法竞赛入门经典(第2版)习题1-1详解
#include <stdio.h>int main(int argc, char *argv[]) { int a, b,c ; scanf("%d%d%d", &a, &b, &c); //这里初学者主要注意的就是输出的时候保留三位小数用%.3f,和除法的时候是除以3.0而不是3,这里千万注意 printf("%.3f\n", (a+b+c)/3.0);
2016-06-20 20:15:30 341
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人