博主:命运之光
专栏:算法修炼之练气篇
题目 1025: [编程入门]数组插入处理
题目描述
已有一个已正序排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。
输入格式
第一行,原始数列。 第二行,需要插入的数字。
输出格式
排序后的数列
样例输入
1 7 8 17 23 24 59 62 101 50
样例输出
1
7
8
17
23
24
50
59
62
101
usingnamespacestd; intmain() { inti,a[10],n,cout=0; for(i=0;i<9;i++)scanf("%d",&a[i]); scanf("%d",&n); for(i=0;i<9;i++) { if(n<=a[i]&&cout==0) { printf("%d\n",n); cout=1; } printf("%d\n",a[i]); } return0; }
题目 1062: 二级C语言-公约公倍
题目描述
输入两个正整数m和n,求其最大公约数和最小公倍数。
输入格式
无
输出格式
无
样例输入
2 3
样例输出
1 6
usingnamespacestd; intgys(inta,intb) { if(b==0)returna; elsereturngys(b,a%b); } intmain() { inta,b; scanf("%d %d",&a,&b); intc=gys(a,b); printf("%d\n%d\n",c,a*b/c); return0; }
题目 1061: 二级C语言-计负均正
题目描述
从键盘输入任意20个整型数,统计其中的负数个数并求所有正数的平均值。
保留两位小数
输入格式
无
输出格式
无
样例输入
1 2 3 4 5 6 7 8 9 10 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10
样例输出
10 5.50
usingnamespacestd; intmain() { doublen,cout=0,sum=0,m=20; while(m--) { scanf("%lf",&n); if(n<0)cout++; elsesum=sum+n; } printf("%.0lf\n%.2lf",cout,sum/(20-cout)); return0; }
题目 1060: 二级C语言-同因查找
题目描述
求出10至1000之内能同时被2、3、7整除的数,并输出。
每行一个。
输入格式
无
输出格式
无
样例输入
无
样例输出
无
usingnamespacestd; intmain() { for(inti=10;i<=1000;i++) { if(i%2==0&&i%3==0&&i%7==0) { printf("%d\n",i); } } return0; }
题目 1671: 小九九
题目描述
学完黄老师的课,学会了循环,那么今天来打印一个九九乘法表吧?
输入格式
没有输入哦,直接打印!
输出格式
输出九九乘法表,乘法的乘积占两位,并靠左对齐,每个乘法表达式之间有一个空格!
注意:要使用双重循环!
样例输入
无
样例输出
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
方法一:暴力破解(能过)
usingnamespacestd; intmain() { printf("1*1=1\n"); printf("1*2=2 2*2=4\n"); printf("1*3=3 2*3=6 3*3=9\n"); printf("1*4=4 2*4=8 3*4=12 4*4=16\n"); printf("1*5=5 2*5=10 3*5=15 4*5=20 5*5=25\n"); printf("1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36\n"); printf("1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49\n"); printf("1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64\n"); printf("1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81\n"); return0; } //代码易懂,复制粘贴用时不超过一分钟
方法二:按题目要求使用两个for循环
usingnamespacestd; intmain(){ inti,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { cout<<j<<"*"<<i<<"="<<j*i; if(j*i>=10) { cout<<" "; } else { cout<<" "; } } cout<<endl; } return0; }