实验任务1:在横向方向上打印出两个字符小人
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() { 4 printf(" O O \n"); 5 printf("<H> <H> \n"); 6 printf("I I I I \n"); 7 8 system("pause"); 9 return 0; 10 }
通过加空格调整了排版
在纵向方向上打印出两个字符小人
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() { 4 printf(" O \n"); 5 printf("<H> \n"); 6 printf("I I \n"); 7 printf(" O \n"); 8 printf("<H> \n"); 9 printf("I I \n"); 10 11 system("pause"); 12 return 0; 13 }
可以重复写两次代码,也可以多此一举地用循环句,用了循环句就可以想打几个小人就打几个
实验任务2:简单的算术运算程序
math1:
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() { 4 int x,y; 5 int r1,r2,r3,r4; 6 x=1,y=2; 7 r1=x+y; 8 r2=x-y; 9 r3=x*y; 10 r4=x/y; 11 printf("%d %d %d %d\n",r1,r2,r3,r4); 12 system("pause"); 13 return 0; 14 }
结果如下,r4的值因为整除直接被约成0了,其他结果没啥问题。
math2:
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() { 4 float x,y; 5 float r1,r2,r3,r4; 6 x=1,y=2; 7 r1=x+y; 8 r2=x-y; 9 r3=x*y; 10 r4=x/y; 11 printf("r1=%f r2=%f r3=%f r4=%f\n",r1,r2,r3,r4); 12 system("pause"); 13 return 0; 14 }
结果如下,这次r4值是对的。
所以一定要根据需求确定变量的数据类型。
实验任务3:乘除号的位置问题
math3:
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() { 4 int n,r1,r2,r3,r4; 5 n=100; 6 r1=n*(n+1)/2; 7 r2=(n+1)*n/2; 8 r3=n/2*(n+1); 9 r4=(n+1)/2*n; 10 printf("r1=%d r2=%d r3=%d r4=%d\n",r1,r2,r3,r4); 11 system("pause"); 12 return 0; 13 }
n=100时,结果如下。
可以看到r4的结果有误,原因是(n+1)/2时由于分子分母数据类型都为整型,整除得结果为50,再乘上n就算出5000。
n=101时结果如下。
r3错误原因与上面一样。
实验任务4:一个普通的问答题
从老师的文档那边复制下来玩了一下,补充了自己的注释。
1 #include <stdio.h> 2 int main() { 3 int answer; 4 char words[5000];//一个容量5000的字符数组,用来存被测对象的反馈 5 printf("网课学习让一些人欢喜一些人忧.\n"); 6 printf("1. 作为一个宅,社恐,觉得这样很好. 有网络,自主学习,很ok.\n"); 7 printf("2. 不喜,不喜,很不喜. 眼睛快瞎了. 脑壳有点卡...\n"); 8 printf("3. 中间派. 不知道. 说不清.\n"); 9 printf("4. 其它...\n"); 10 printf("你的选择: "); 11 scanf("%d", &answer); 12 if(answer == 4) { 13 printf("请补充说明你的想法: \n"); 14 getchar(); //作用应该是等待被测者输入完想法后再显示下一道题,但不大清楚原理 15 gets(words); // 从键盘输入你的想法存入字符数组word[],输完后,敲回车键 16 } 17 printf("\n"); // 换行 18 printf("当遇到问题时, 你会选择:\n"); 19 printf("1. 遇到问题, 就解决问题。不懂的,搜索式学习,逐个攻破.\n"); 20 printf("2. 遇到问题, 不高兴。然后,...,没有了.\n"); 21 printf("3. 其它...\n"); 22 printf("你的选择: "); 23 scanf("%d", &answer); 24 if(answer == 1) 25 printf(":)\n"); 26 else if(answer == 2) 27 printf("这样不能解决问题啊...我们选择1好不好:)\n"); 28 else if(answer == 3) { 29 printf("请补充说明你的想法: \n"); 30 getchar(); //作用同上一题那个getchar() 31 gets(words); //同上题,从键盘输入你的想法,输完后,敲回车键 32 } 33 return 0; 34 }
结果如下:
原文:https://www.cnblogs.com/namelessbird/p/14529209.html