实验作业2
实验一
#include<stdio.h> int main() { int a = 5, b = 7, c = 100, d, e, f; d = a / b * c; e = a * c / b; f = c / b * a; printf("d=%d,e=%d,f=%d\n", d, e, f); return 0; }

d= a/b*c
e=a*c/b
f=c/b*a,不同结果的原因是因为c语言只能从左向右运行,无法进行交换律
实验二
#include<stdio.h> int main() { int x = 1234; float f = 123.4456; double m = 123.456; char ch = 'a'; char a[] = "Hello,world"; int y = 3, z = 4; printf("%d%d\n",y,z); printf("y=%d,z=%d\n", y, z); printf("%8d,%2d\n", x, x); printf("%f,8%f,%8.1f,%0.2f,%.2e\n", f, f, f, f, f); printf("%7f\n", m); printf("%3c\n",ch); printf("%s\n%15s%\n10.5s\n%2.5s\n%.3s\n",a,a,a,a,a); return 0; }

%d表示输出整型,%f表示输出浮点型单精度型,%lf表示输出长单精度型,%e表示输出浮点型指数型,%s表示输出字符型。%后面的数字表示空几格,.后面表示输出几个字符
实验三
#include<stdio.h> int main() { double x, y; char c1, c2, c3; int a1, a2, a3; scanf("%d%d%d", &a1, &a2, &a3); printf("%d,%d,%d\n", a1, a2, a3); scanf(" %c%c%c", &c1, &c2, &c3); printf("%c,%c,%c\n", c1, c2, c3); scanf("%lf,%lf", &x, &y); printf("%lf,%lf\n", x, y); return 0; }

实验4
#include <stdio.h> int main() { char x; x = getchar(); if (x >= '0' && x <= '9') printf("%c是数字字符\n", x); else if (x >= 'a' && x <= 'z' || x >= 'A' && x <= 'Z') printf("%c是英文字母\n", x); else printf("%c是其它字符\n", x); return 0; }



实验五
#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; }



实验6
#include<stdio.h> #include<math.h> int main() { int sum, n; scanf_s ("%d", &n); sum = (pow(2, n) - 1); printf("n=%d时,sum=%d",n ,sum); return 0; }

实验六
#include<stdio.h> #include<math.h> int main() { int sum, n; scanf_s ("%d", &n); sum = (pow(2, n) - 1); printf("n=%d时,sum=%d",n ,sum); return 0; }

实验总结
又不细心造成的错误真的让人发癫,比如实验四开始自己在if后面加了;,一直找不到错误,人都要崩溃了。
其他还是很好的,但还是未理解为什么实验五的getchar()的作用

浙公网安备 33010602011771号