7-41 兔子繁衍问题
#include<stdio.h>
int main() {
int n;
scanf("%d", &n);
int a = 1, b = 1, c = 2;
int cnt = 0;
while (true) {
if (b >= n) {
break;
}
c = a + b;
a = b;
b = c;
cnt++;
}
if (n <= 1) {
printf("1");
} else {
printf("%d", cnt + 2);
}
return 0;
}
7-42 找出不是两个数组共有的元素
#include<stdio.h>
int main() {
int n1;
scanf("%d", &n1);
int arr1[n1];
for (int i = 0; i < n1; i++) {
scanf("%d", &arr1[i]);
}
int n2;
scanf("%d", &n2);
int arr2[n2];
for (int i = 0; i < n2; i++) {
scanf("%d", &arr2[i]);
}
int arr3[n1 + n2];
int index = 0;
for (int i = 0; i < n1; i++) {
int j;
for (j = 0; j < n2; j++) {
if (arr1[i] == arr2[j]) {
break;
}
}
if (j == n2) {
int flag = 1;
for (int k = 0; k < index; k++) {
if (arr3[k] == arr1[i]) {
flag = 0;
break;
}
}
if (flag) {
arr3[index++] = arr1[i];
}
}
}
for (int i = 0; i < n2; i++) {
int j;
for (j = 0; j < n1; j++) {
if (arr2[i] == arr1[j]) {
break;
}
}
if (j == n1) {
int flag = 1;
for (int k = 0; k < index; k++) {
if (arr3[k] == arr2[i]) {
flag = 0;
break;
}
}
if (flag) {
arr3[index++] = arr2[i];
}
}
}
int i = 0;
for (; i < index - 1; i++) {
printf("%d ", arr3[i]);
}
for (; i < index; i++) {
printf("%d", arr3[i]);
}
return 0;
}
7-43 计算天数
#include<stdio.h>
int main() {
int arr[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int arr2[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int year, month, day;
scanf("%d/%d/%d", &year, &month, &day);
int sum = 0;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
for (int i = 0; i < month - 1; i++) {
sum += arr2[i];
}
sum += day;
printf("%d", sum);
} else {
for (int i = 0; i < month - 1; i++) {
sum += arr[i];
}
sum += day;
printf("%d", sum);
}
return 0;
}
7-44 时间换算
#include<stdio.h>
int main() {
int hour, min, sec;
scanf("%d:%d:%d", &hour, &min, &sec);
int addsec;
scanf("%d", &addsec);
sec += addsec;
if (sec >= 60) {
min += sec / 60;
sec %= 60;
}
if (min >= 60) {
hour += min / 60;
min %= 60;
}
if (hour >= 24) {
hour %= 24;
}
printf("%02d:%02d:%02d", hour, min, sec);
return 0;
}
7-45 Welcome to You!
#include<stdio.h>
int main() {
printf("Welcome to You!\n");
return 0;
}
7-46 输出菱形图案
#include<stdio.h>
int main() {
printf(" A\n"
"A A\n"
" A");
return 0;
}
7-47 输出带框文字
#include<stdio.h>
int main() {
printf("************\n"
" Welcome\n"
"************");
return 0;
}
7-48 计算摄氏温度
#include<stdio.h>
int main() {
int F = 100, C;
C = 5 * (F - 32) / 9;
printf("fahr = 100, celsius = %d", C);
return 0;
}
7-49 将x的平方赋值给y
#include<stdio.h>
int main() {
int x = 3, y = x * x;
printf("%d = %d * %d\n", y, x, x);
printf("%d * %d = %d\n", x, x, y);
return 0;
}
7-50 计算华氏温度
#include<stdio.h>
int main() {
int F, C = 26;
F = 9 * C / 5 + 32;
printf("celsius = 26, fahr = %d", F);
return 0;
}