实验2

//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);
    return 0;
    
}

d:int类型(a除b)再乘c         e:a先乘b再除b         f:int类型(c除b)再乘a

int类型取整导致e和f不等

 

//ex2

#include<stdio.h>
int main(){
    int x=1234;
    float f=123.456;
    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,%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);

    return 0;
    
}

//ex3 

#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("%g,%g\n",x,y);
    
    return 0;
}

不是很清楚怎么输入能省略浮点型输出的默认六位小数中的0,只能改输出类型了。

 

//ex4

#include<stdio.h>
int main(){
    char x;
    
    x=getchar();
    
    if(x>='0'&&x<='9')
    printf("%c是数字字符\n",x);
    else if(x>='A'&&x<='z')
    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();
    
    getchar();
    
    printf("\n动手敲代码了没?(输入y或Y表示敲了,输入n或N表示木有敲):"); 
    ans2=getchar();
    
    if((ans1=='y'||ans1=='Y')&&(ans2=='y'||ans2=='Y'))
    printf("\n罗马不是一天建成的:)\n");
    else
    printf("\n罗马不是一天毁灭的。。。\n");
    
    return 0;
}

 

中间的getchar();是用来停顿的,若没有第二个输入会被跳过。

 

//ex6

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

 

//ex7

#include<stdio.h>
int main(){
    int i,n,j,k;
    char a[]=" O ";
    char b[]="<H>";
    char c[]="I I";
    char d[]=" ";
        n=13;
        k=0;
        while(n>0){
            j=k;
            while(j>0){
                printf("%-8s",d);
                j--;
            }
                i=n;
                while(i>0){
                printf("%-8s",a);
                  i--;
                }
                printf("\n");
                i=n;
                j=k;
                while(j>0){
                printf("%-8s",d);
                j--;
            }
                while(i>0){
                printf("%-8s",b);
                i--;
                }
                printf("\n");
                i=n;
                j=k;
                while(j>0){
                printf("%-8s",d);
                j--;
            }
                while(i>0){
                printf("%-8s",c);
                i--;
                }
                printf("\n");
                printf("\n");
                n-=2;
                k++;
        
        }
    
        return 0;
    }

 

ex7代码有点长,不知道能不能短一点。。。(求助。。)

posted @ 2020-10-31 14:28  完美且天才  阅读(94)  评论(1)    收藏  举报