//按行打印两个小人 #include<stdio.h> int main(){ printf(" O O\n"); printf("<H> <H>\n"); printf("I I I I\n"); return 0; }
//按列打印两个小人 #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; }
/*用c语言运行一个简单的运算 */ #include<stdio.h> int main(){ int x,y; int r1,r2,r3,r4; x=1; y=2; r1=x+y; r2=x-y; r3=x*y; r4=x/y; printf("r1=%d\n",r1); printf("r2=%d\n",r2); printf("r3=%d\n",r3); printf("r4=%d\n",r4); return 0; }
#include<stdio.h> int main(){ float x,y; float r1,r2,r3,r4; x=1; y=2; r1=x+y; r2=x-y; r3=x*y; r4=x/y; printf("r1=%f\n",r1); printf("r2=%f\n",r2); printf("r3=%f\n",r3); printf("r4=%f\n",r4); return 0; }
前者定义为整型需要取整,后者定义为浮点型浮点数,可以保留小数
实验3
#include<stdio.h> int main(){ int n,r1,r2,r3,r4; n=100; r1=n*(n+1)/2; r2=(n+1)*n/2; r3=n/2*(n+1); r4=(n+1)/2*n; printf("n=%d\n",n); printf("r1=%d\n",r1); printf("r2=%d\n",r2); printf("r3=%d\n",r3); printf("r4=%d\n",r4); return 0; }
#include<stdio.h> int main(){ int n,r1,r2,r3,r4; n=101; r1=n*(n+1)/2; r2=(n+1)*n/2; r3=n/2*(n+1); r4=(n+1)/2*n; printf("n=%d\n",n); printf("r1=%d\n",r1); printf("r2=%d\n",r2); printf("r3=%d\n",r3); printf("r4=%d\n",r4); return 0; }
line7,8:高斯求和公式 。
line9:先对n/2的结果取整去小数,再*(n+1)。
line10:先对(n+1)\2的结果取整去小数后再*2。
原因均在于当整数相除时取整,当被除数为奇数时/2结果要取整去小数,导致数据偏差。
实验4
// 测试你是哪一类学习者 #include <stdio.h> int main() { int answer; char words[5000]; printf("网课学习让一些人欢喜一些人忧.\n"); printf("1. 作为一个宅,社恐,觉得这样很好. 有网络,自主学习,很ok.\n"); printf("2. 不喜,不喜,很不喜. 眼睛快瞎了. 脑壳有点卡...\n"); printf("3. 中间派. 不知道. 说不清.\n"); printf("4. 其它...\n"); printf("你的选择: "); scanf("%d", &answer); if(answer == 4) { printf("请补充说明你的想法: \n"); getchar(); gets(words); } printf("\n"); printf("当遇到问题时, 你会选择:\n"); printf("1. 遇到问题, 就解决问题。不懂的,搜索式学习,逐个攻破.\n"); printf("2. 遇到问题, 不高兴。然后,...,没有了.\n"); printf("3. 其它...\n"); printf("你的选择: "); scanf("%d", &answer); if(answer == 1) printf(":)\n"); else if(answer == 2) printf("这样不能解决问题啊...我们选择1好不好:)\n"); else if(answer == 3) { printf("请补充说明你的想法: \n"); getchar(); gets(words); } return 0; }