算法竞赛入门经典第二章习题解答
来源:互联网 发布:java面向对象总结 编辑:程序博客网 时间:2024/05/22 21:03
2-1
#include <stdio.h>int main(){ int n,count=0; scanf("%d",&n); while(n>0) { count++; n/=10; } printf("%d\n",count); return 0;}
2-2
#include <stdio.h>int main(){ int i,ge,shi,bai; for(i=100;i<1000;i++) { ge=i%10; shi=i/10%10; bai=i/100; if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai) printf("%d\n",i); } return 0;}
2-3
#include <stdio.h>int main(){ int a,b,c,i; scanf("%d%d%d",&a,&b,&c); for(i=10;i<=100;i++) { if(i%3==a && i%5==b && i%7==c) { printf("%d\n",i); return 0; } } printf("No Answer"); return 0;}
2-4
#include <stdio.h>int main(){ int n,i,j,k; scanf("%d",&n); for(i=n;i>0;i--) { for(k=0;k<5-i;k++) printf(" "); for(j=0;j<2*i-1;j++) printf("#"); printf("\n"); } return 0;}
2-6
#include <stdio.h>int main(){ int n,i; float hn; scanf("%d",&n); for(i=1;i<=n;i++) hn+=1.0/i; printf("%.3f\n",hn); return 0;}
2-7
#include <stdio.h>int main(){ int i,t=1; float sum=0; for(i=1;;i+=2) { if(1.0/i<0.0000001) break; sum+=(1.0/i*t); t*=-1; } printf("%.9f\n",sum); return 0;}
2-8
#include <stdio.h>int main(){ int i,m,n,temp; scanf("%d%d",&m,&n); float sum=0; if(m<n) { temp=n; n=m; m=temp; } for(i=n;i<=m;i++) sum+=(1.0/i/i); printf("%.5f\n",sum); return 0;}2-9
#include <stdio.h>int main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%.*f\n",c,a*1.0/b); return 0;}
解析:
printf的特殊用法:
对于m.n的格式还可以用如下方法表示
char ch[20];
printf("%*.*s\n",m,n,ch);
前边的*定义的是总的宽度,后边的定义的是输出的个数。分别对应外面的参数m和n 。我想这种方法的好处是可以在语句之外对参数m和n赋值,从而控制输出格式。
2-10
#include <stdio.h>void sort(int a[]){ int i,j,temp; for(i=0;i<9;i++) { for(j=0;j<9-i;j++) { if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } }}int main(){ int abc,def,ghi,flag,i; int a[9]; for(abc=123;abc<334;abc++) { flag=1; def=2*abc; ghi=3*abc; a[0]=abc/100;a[1]=abc/10%10;a[2]=abc%10; a[3]=def/100;a[4]=def/10%10;a[5]=def%10; a[6]=ghi/100;a[7]=ghi/10%10;a[8]=ghi%10; sort(a);//升序排列 for(i=0;i<9;i++) //判断排序后数组a是否是1-9 { if(a[i]!=i+1) { flag=0; break; } } if(flag) printf("abc=%d,def=%d,ghi=%d\n",abc,def,ghi); } return 0;}
0 0
- 算法竞赛入门经典第二章习题解答
- 算法竞赛入门经典第二章习题解答
- 算法竞赛入门经典(第二版)习题解答参考(第二章)
- 算法竞赛入门经典第二章习题
- 算法竞赛入门经典习题 第二章
- {算法竞赛入门经典}第二章 习题解答及例题小结
- 初学acmer--《算法竞赛经典入门》第二章2.5 习题自己的解答
- 算法竞赛入门经典第一章习题解答
- 算法竞赛入门经典 第1章 习题解答
- 算法竞赛入门经典第三章习题解答
- 算法竞赛入门经典第四章:部分习题解答
- 算法竞赛入门经典(第二版)习题解答参考(一)
- 算法竞赛入门经典第二章【小结与习题】
- 算法竞赛入门经典第二章习题答案
- 【算法竞赛入门经典】【第二章】课后习题
- 【算法竞赛入门经典第二版学习】第三章习题
- 算法竞赛入门经典第二版第三章习题
- 算法竞赛入门经典习题解答(1)
- 手机卫士学习11-MD5加密
- IAR编译代码空间定义
- Android笔记ContentObserve的使用
- 一个单链表中返回倒数第n个元素
- HTTP content-type
- 算法竞赛入门经典第二章习题解答
- Linux 内核编译
- Js中 关于top、clientTop、scrollTop、offsetTop等
- GTK入门学习:布局练习之计算器
- Hello Riak
- 气球
- 数据存储到文件和从文件中读取数据
- 浅谈java的注解
- 解决EditText跟ScrollView滑动冲突