C 语言学习记录-OJ-3

OJ 系统 C 语言练习第三天

第一题

原题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "stdio.h"
#include "math.h"

int sort(int n,int a[20]){
for (int i = 0; i < n-1; ++i)
{
for (int j = i + 1; j < n; ++j)
{
if(a[i] > a[j]){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}

int main()
{
int m,n,temp;
scanf("%d%d", &m,&n);
if(m > n){
temp = m;
m = n;
n = temp;
}
int i;
int num[20];
int j = 0;

for(i = m;i <= n;i++){
temp = 1500 - i;

if(temp % 3 == 2 && temp % 5 == 4 && temp % 7 == 6){
num[j] = temp;
j++;
}
}
sort(j,num);
int k;
for(k = 0;k < j;k++){
printf("%d\n", num[k]);
}
return 0;
}

第二题

原题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdio.h"
#include "math.h"

int main()
{
int a,b,c;
while(1){
scanf("%d%d%d", &a,&b,&c);
if(a==0&&b==0&&c==0){
return 0;
}
double d = (double)a / (double)b;
//注意这种精确方式
printf("%.*lf\n", c,d);
}
return 0;
}

第三题

原题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdio.h"
#include "math.h"

void bin(int n){
//如果n/2不等于零说明n>1,需要继续
if(n/2)
//将n/2输入下一轮
bin(n/2);
//输出的是最后一位
printf("%d", n%2);
}

int main()
{
int n;
while(1){
scanf("%d", &n);
if(n==0)return 0;
bin(n);
printf("\n");
}
return 0;
}