【实验任务1】
源码1_1:
// 打印一个字符小人
#include <stdio.h>
#include <stdlib.h>
int main ()
{
printf(" o \n");
printf("<H>\n");
printf("I I\n");
printf(" o \n");
printf("<H>\n");
printf("I I\n");
system("pause");
return 0;
}
截图1_1:
源码1_2:
// 打印一个字符小人 #include <stdio.h> #include <stdlib.h> int main () { printf(" o o\n"); printf("<H> <H>\n"); printf("I I I I\n"); system("pause"); return 0; }
截图1_2:
【实验任务2】
源码:
//1+2+3+...+n (设n的取值在100以内) //用数学归纳法(求和公式计算) #include<stdio.h> #include<stdlib.h> int main() { int n, sum1, sum2 ,sum3, sum4; //从键盘上输入一个十进制整数给n scanf("%d", &n ); sum1 = n*(n+1)/2 ; sum2 = (n+1)*n/2 ; sum3 = n/2*(n+1) ; sum4 = (n+1)/2*n ; printf("sum1 = %d\n" , sum1); printf("sum2 = %d\n" , sum2); printf("sum3 = %d\n" , sum3); printf("sum4 = %d\n" , sum4); system("pause"); return 0; }
截图:
回答:4种写法中,第1、2种写法能实现题目要求。因为在第3、4种写法中,根据c语言从左往右的运算规则以及整数除以整数得到整数的规则,导致51/2=25,所以存在误差。
【实验任务3】
源码:
#include<stdio.h> #include<stdlib.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); system("pause"); return 0; }
截图:
功能:使a、b数值交换。
【实验任务4】
源码:
#include <stdio.h> int main () { int x, t, m; x = 456; 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); system("pause"); return 0; }
截图:
功能:使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");
system("pause");
return 0;
}
截图:
【实验任务6】
源码:
#include <stdio.h> int main() { int year; year =1000000000 /(60 * 60 * 24 * 365); printf("10亿秒约等于%d年\n" , year); system("pause"); return 0; }
截图:
【实验任务7】
源码:
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int n; srand((unsigned)time(NULL)); n = rand()%(100-60+1)+60 ; printf("n = %d\n" , n); system("pause"); 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罗马不是一天建成的,继续保持哦:)\n"); else printf("\n罗马不是一天毁灭的,我们来建设吧\n"); system("pause"); return 0 ; }
截图:
总结与疑问:
①知道了怎么用rand()生成随机数;
②才注意到 if()后面不用分号,而是和else一起的;
③学会了怎么用system("pause"); 暂停输出框;
④不懂四舍五入。