7-99 打印九九口诀表 (15 分)
下面是一个完整的下三角九九口诀表:
11=1
12=2 22=4
13=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
16=6 26=12 36=18 46=24 56=30 66=36
17=7 27=14 37=21 47=28 57=35 67=42 77=49
18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 99=81
本题要求对任意给定的一位正整数N,输出从11到N*N的部分口诀表。
输入格式:
输入在一行中给出一个正整数N(1≤N≤9)。
输出格式:
输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。
输入样例:
4
结尾无空行
输出样例:
11=1
12=2 22=4
13=3 23=6 33=9
14=4 24=8 34=12 44=16
结尾无空行
#include<stdio.h> int main() { int n; scanf("%d",&n); int i,j; for(i=1;i<=n;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%-4d",j,i,i*j); } printf("\n"); } return 0; }
7-100 逆序的三位数 (10 分)
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入格式:
每个测试是一个3位的正整数。
输出格式:
输出按位逆序的数。
输入样例:
123
结尾无空行
输出样例:
321
结尾无空行
#include<stdio.h> int main() { int x=0,a=0,b=0,c=0,y=0; scanf("%d",&x); a=x/100; c=x%10; b=x/10%10; y=a+b*10+c*100; printf("%d",y); return 0; }
7-101 人民币兑换 (15 分)
1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,会有很多种兑换方案。请编写程序给出各种兑换方案。
输入格式:
输入为一个正整数n,表示要求输出前n种可能的方案。方案的顺序,是按照5分硬币从少到多排列的。
输出格式:
显示前n种方案中5分、2分、1分硬币各多少枚。每行显示一种方案,数字之间空一格,最后一个数字后没有空格。
注意:如果全部方案不到n种,就顺序输出全部可能的方案。
输入样例:
5
结尾无空行
输出样例:
1 46 53
2 42 56
3 38 59
4 34 62
5 30 65
结尾无空行
#include<stdio.h> int main() { int n,c=0; scanf("%d",&n); int i,j,k; int s; for(i=1;i<=30;i++) { if(c<n) { for(j=1;j<=75;j++) { for(k=1;k<=99;k++) { s=i*5+j*2+k*1; if(s==150&&(i+j+k)==100) { c++; printf("%d %d %d\n",i,j,k); break; } } } } } return 0; }
7-102 大笨钟 (10 分)
微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。
下面就请你写个程序,根据当前时间替大笨钟敲钟。
输入格式:
输入第一行按照hh:mm的格式给出当前时间。其中hh是小时,在00到23之间;mm是分钟,在00到59之间。
输出格式:
根据当前时间替大笨钟敲钟,即在一行中输出相应数量个Dang。如果不是敲钟期,则输出:
Only hh:mm. Too early to Dang.
其中hh:mm是输入的时间。
输入样例1:
19:05
结尾无空行
输出样例1:
DangDangDangDangDangDangDangDang
结尾无空行
输入样例2:
07:05
输出样例2:
Only 07:05. Too early to Dang.
#include<stdio.h> int main() { int h,m,i; scanf("%d:%d",&h,&m); if(h>=0&&h<11||h==12&&m==0) { printf("Only %02d:%02d. Too early to Dang.",h,m); } else { if(m==0) { for(i=0;i<h-12;i++) { printf("Dang"); } } if(m!=0) { for(i=0;i<h+1-12;i++) { printf("Dang"); } } } return 0; }
7-103 A除以B (10 分)
真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。
输入格式:
输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。
输出格式:
在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error。输出的商应保留小数点后2位。
输入样例1:
-1 2
结尾无空行
输出样例1:
-1/2=-0.50
结尾无空行
输入样例2:
1 -3
输出样例2:
1/(-3)=-0.33
输入样例3:
5 0
输出样例3:
5/0=Error`
#include<stdio.h> int main() { int a,b; scanf("%d %d",&a,&b); if(b>0) { printf("%d/%d=%.2f",a,b,1.0*a/b); } if(b<0) { printf("%d/(%d)=%.2f",a,b,1.0*a/b); } if(b==0) { printf("%d/%d=Error",a,b); } return 0; }
7-104 新世界 (5 分)
这道超级简单的题目没有任何输入。
你只需要在第一行中输出程序员钦定名言“Hello World”,并且在第二行中输出更新版的“Hello New World”就可以了。
#include<stdio.h> int main() { printf("Hello World\nHello New World"); return 0; }
7-105 寻找250 (10 分)
对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。
输入格式:
输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。
输出格式:
在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。
输入样例:
888 666 123 -233 250 13 250 -222
结尾无空行
输出样例:
5
结尾无空行
#include<stdio.h> int main() { int x,i=0; while(scanf("%d",&x)!=EOF) { i++; if(x==250) { break; } } printf("%d",i); return 0; }