实验二


//ex1
#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);
     getchar();
     return 0;
}

int定义是整型变量,每次运算后需要取整

//ex2
#include <stdio.h>
int main (){
    int x=1234;
    float f=123.456;
    double m=123.456;
    char ch='a';
    char a[]="hello,world";//定义一个数组a,存放
    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,%8f,%8.1f,%0.2f,%.2e\n",f,f,f,f,f);
    printf("%lf\n",m);
    printf("%3c\n",ch);
    printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a);
    getchar();
    return 0;
}

对于%号之后不同符号

d为按十进制整数

f为浮点数

e为指数形式

c为字符

s为字符串

//ex3.cpp
#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;
}

 

 

#include <stdio.h>
int main() {
    char x;
    x = getchar();
    if (x >= 48 && x <= 57) 
        printf("%c是数字字符\n", x);
    else if (x <= 90 && x >= 65 || x <= 122 && x >= 97) 
        printf("%c是英文字母\n", x);
    else
        printf("%c是其它字符\n", x);
    return 0;
}

 

 

 

 

//ex5
#include<stdio.h>
int main(){
    char ans1,ans2;
    printf("复习了没?(输入y或Y表示复习了,输入n或N表示没复习:");
    ans1=getchar();//输入一个字符,赋值ans1
    getchar();//删否差别?
    printf("\n动手敲代码了没?(输入y或Y表示敲了,输入n或N表示木有哦):");
    ans2=getchar();
    if (ans1=='y' &&ans2=='y' ||ans1=='Y'&&ans2=='Y')
    printf("罗马不是一天建成的:)\n");
    else
    printf("\n罗马不是一天毁灭的...\n");
    return 0;
     
}

 

 删掉那一行getchar的截图,需要直接一次性输入2次问题的答案?没有像之前回答一个跳转一个,起承接?

百度后:(大概)前面的scanf()在读取输入时会在缓冲区中留下一个字符‘/n'(输入完s【i】的值按回车键所致所以如果不加getchar把这个回车符取走的话,gets就不会等待从键盘键入字符,而是会直接键入这个无用的回车符,导致读取有误。)

 

另外这个题目出的我理解有问题回答两次要同一的大小写吗,如果不需要,那写法又有些不同了。。。

 

 

 

 

 

 

//ex6 等比求和 ,2的0,1,2,次响 
#include<stdio.h>
#include<math.h>
int main(){
int n;
int sum;
scanf("%d=n",&n);
sum=1*(1-pow(2,n+1))/(1-2);
printf("n=%d时,sum=%d",n,sum);
return 0;
}

 

 

 

 

实验的一点感悟:

调用数学函数,要有添加那个数学的头文件,不能忘了,搞了半天发现自己没加,emmm

另外任务5中的删掉哪行的缘由及影响也不是很清楚,希望知道的人说下,O(∩_∩)O谢谢

 

posted @ 2020-10-30 16:22  张白枫  阅读(76)  评论(2编辑  收藏  举报