实验1
实验任务1
实验代码
#include <stdio.h>
int main() {
printf(" O \n");
printf("<H>\n");
printf("I I\n");
printf(" O \n");
printf("<H>\n");
printf("I I\n");
return 0;
}
#include <stdio.h>
int main() {
printf(" O O \n");
printf("<H> <H>\n");
printf("I I I I\n");
return 0;
}
实验结论
实验任务2
实验代码
#include <stdio.h>
int main() {
int n, sum;
scanf("%d", &n);
sum = n * (n + 1) / 2;
printf("%d", sum);
return 0;
}
实验结论
回答问题
写法1,2能实现要求
写法3,4可能会让奇数除2,出现让小数取整数部分的情况,造成结果错误
实验任务3
实验代码
#include <stdio.h>
int main() {
int a, b, t;
a = 3;
b = 4;
printf("a = %d, b = %d\n", a, b);
t = a;
a = b;
b = t;
printf("a = %d, b = %d\n", a, b);
return 0;
}
实验结论
回答问题
实现a,b两个数字交换,t相当于一个容器
实验任务4
实验代码
#include <stdio.h>
int main() {
int x, t, m;
x = 123;
printf("x = %d\n", x);
t = 0;
m = x % 10;
t = t * 10 + m;
x = x / 10;
m = x % 10;
t = t * 10 + m;
x = x / 10;
m = x % 10;
t = t * 10 + m;
x = x / 10;
printf("t = %d\n", t);
return 0;
}
实验结论
回答问题
line10-22是将x的个位,十位,百位分别取出来,
每次将t扩大10倍,再把个位填入,最终实现x的每一位翻转
实验任务5
实验代码
#include <stdio.h>
int main() {
float a, b, c;
scanf("%f%f%f", &a, &b, &c);
if((a + b > c) && (a + c > b) && (b + c > a)) {
printf("能构成三角形\n");
}
else {
printf("不能构成三角形\n");
}
return 0;
}
实验结论
实验任务6
实验代码
#include <stdio.h>
int main() {
int year;
const int s = 1e9;
year = s / 60 / 60 / 24 / 365;
printf("10亿秒约等于%d年\n", year);
return 0;
}
实验结论
实验任务7
实验代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int n;
srand(time(0));
n = rand() % 41 + 60;
printf("n = %d\n", n);
return 0;
}
实验结论
实验任务8
实验代码
#include <stdio.h>
int main() {
char ans1, ans2;
printf("每次课前认真预习,课后及时复习了没?(输入y或Y表示有,输入n或N表示没有):");
ans1 = getchar();
getchar();
printf("\n动手敲代码实践了没?(输入y或Y表示有,输入n或N表示没有):");
ans2 = getchar();
if((ans1 == 'y' || ans1 == 'Y') && (ans2 == 'y' || ans2 == 'Y'))
printf("\n罗马不是一天建成的:)");
else
printf("\n罗马不是一天毁灭的");
return 0;
}
实验结论