实验2

Posted jxctoushou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验2相关的知识,希望对你有一定的参考价值。

实验结果:

ex1:

 1 #include <stdio.h>
 2 int main() {
 3     int a=5, b=7, c=100, d, e, f;
 4 
 5     d = a/b*c;
 6     e = a*c/b;
 7     f = c/b*a;
 8     
 9     printf("d=%d, e=%d, f=%d
",d,e,f);
10 
11     return 0;
12 }

技术图片

 

line5:d=a÷b×c;line6:e=a×c÷b;line7:f=c÷b×a

变量d、e、f计算结果不同的原因是在编译过程中按顺序依次进行计算,且int整形运算无小数,影响了结果。

ex2:

 

 1 #include <stdio.h>
 2 int main() {
 3     int x=1234;
 4     float f=123.456;
 5     double m=123.456;
 6     char ch=a;
 7     char a[]="Hello, world!";
 8     int y=3, z=4; 
 9     
10     printf("%d %d
", y, z);
11     printf("y=%d, z=%d
", y,z);
12     printf("%8d,%2d
", x,x);
13     printf("%f, %8f, %8.1f, %0.2f, %.2e
",f,f,f,f,f);
14     printf("%lf
",m);
15     printf("%3c
", ch);
16     printf("%s
%15s
%10.5s
%2.5s
%.3s
",a,a,a,a,a);
17     
18     return 0;
19 }

 

技术图片

 

 %d:按十进制整数输出已储存的变量

%md:输出m长度的的数据,若数据长度<m,则在左侧用空格补全,反则按实际输出。

%nf:对输出的实数的小数点后数据限制位数(四舍五入)。

%e:将数据按指数形式输出。

%lf:指定数据输出精度为double型

%3c:按字符输出且长度为3,长度不足左侧补空格。

%m.ns:将字符串取n个单位按m长度输出。

ex3:

 1 // ex3.cpp
 2 #include <stdio.h>
 3 int main() {
 4     double x,y;
 5     char c1,c2,c3;
 6     int a1,a2,a3;
 7     
 8     scanf("%d%d%d",&a1,&a2,&a3);
 9     printf("%d,%d,%d
",a1,a2,a3);
10     scanf("%c%c%c",&c1,&c2,&c3);
11     printf("%c%c%c
",c1,c2,c3);
12     scanf("%lf,%lf",&x,&y);
13     printf("%.1f,%.1lf
",x,y);
14     
15     return 0;
16 } 

技术图片

 

 ex4:


 1 #include <stdio.h>
 2 int main() {
 3     char x;
 4     
 5     x = getchar();
 6     
 7     if(x>=1&&x<=9)
 8         printf("%cê?êy×?×?·?
", x);
 9     else if(x>=a&&x<=z||x>=A&&x<=Z) 
10         printf("%cê?ó¢??×???
", x);
11     else
12         printf("%cê????ü×?·?
", x);
13     
14     
15     return 0;
16 } 

 

 

技术图片

 

技术图片

 

 技术图片

 

 

 ex5:

 1 // ex5.cpp
 2 #include <stdio.h>
 3 int main() {
 4     char ans1, ans2;
 5     
 6     printf("复习了没? (输入y或Y表示复习了,输入n或N表示没复习) :  ");
 7     ans1 = getchar();  // 从键盘输入一个字符,赋值给ans1
 8     
 9     getchar(); // 思考这里为什么要加这一行 
10     
11     printf("
动手敲代码了没? (输入y或Y表示敲了,输入n或N表示木有敲) :  ");
12     ans2 = getchar();
13     
14     if((ans1==y||ans1==Y)&&(ans2==y||ans2==Y))
15         printf("
罗马不是一天建成的:)
");    
16     else
17         printf("
罗马不是一天毁灭的。。。
");
18 
19     return 0;
20 } 

技术图片

 

 line9中的getchar是为了在程序执行时按任意键继续显示下一个问题(猜的)

ex6:

 1 # include<stdio.h>
 2 # include<math.h>
 3 int main()
 4 {
 5     int sum,n;
 6     scanf("%d",&n);
 7     sum=(1-pow(2,n))/(1-2);
 8     printf("n=%d时,sum=%d",n,sum);
 9     return 0;
10  }

技术图片

 

 实验总结:

       格式化输入与输出在函数执行时的细节要求真滴严格,还是得自己多敲敲啊

 

以上是关于实验2的主要内容,如果未能解决你的问题,请参考以下文章

JSP 设计教师与学生不同登陆界面(带验证码)

使用 React 实验性中继片段:缺少属性 '"$fragmentRefs"'

[NTUSTISC pwn LAB 7]Return to libc实验(puts泄露libc中gadget片段定位)

2017-2018-2 20179204《网络攻防实践》缓冲区溢出漏洞实验

20165302 缓冲区溢出漏洞实验

第九次作业