实验2 c语言中的表达式及输入输出函数编程应用

任务一

#include <stdio.h>
int main()
{
    int num;
    
    scanf("%d",&num);
    printf("2049%04d\n",num);
    
    scanf("%d",&num);
    printf("2049%04d\n",num);
    
    
    scanf("%d",&num);
    printf("2049%04d\n",num);
    
    return 0;
    

    
 } 
 

%04d作用是输出数值时留四位,不满4位的左边用0补齐

#include <stdio.h>
int main()
{
    int num,n;
    n=1;
    while(n<4)
    {
        scanf("%d",&num);
        printf("2049%04d\n",num);
        n++;
    }
    
    

    
    return 0;
    

    
 } 
 

 

 

 

任务二

#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;
}

%d以十进制整数输出                    %f以浮点数输出                        %c以字符形式输出                        %s以字符串形式输出

%8.1f输出一位小数,输出数据宽为8,不足8,左边用空格补齐                              %.2f输出两位小数

%lf输入输出为double型                          %ld输入输出为long型

 

任务三

#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("%.1f,%.1f\n",x,y);
    
    
    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();
    getchar();
    
    if(ans1=='y'&&
    ans2=='y'||ans1=='y'&&ans2=='Y'||ans1=='Y'&&ans2=='Y'||ans1=='Y'&&ans2=='y')
        printf("\n罗马不是一天建成的:)\n");
    else
        printf("\n罗马不是一天毁灭的。。。\n");
        
    return 0;
    
    
}

 

 

 

 

任务五

#include <stdio.h>
int main()
{
    char x;
    
    
    x=getchar();
    
    if(x>='1'&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> 
#include <math.h>
int main() 
{
    int x,n,sum;
    scanf("%d",&x);
    n=0,sum=0;
    while(n<=x)    
    {
        sum=sum+pow(2,n);                                                                                                                                 
        n++;
        
    }
    printf("%d",sum);
    return 0;
    
    
}

 

 

 

 

 

 

 

 

实验总结:getchar()只能输入一个字符,而scanf()就能输入好多类型的,如果用错了结果会和想象的差好多。回车也算是字符,有时候输入时手一抖结果就没了。

     所以基础知识很重要,不然看见一个任务主干都编出来了,结果在一些细节地方出错,一找就是好久

posted @ 2021-03-28 20:36  朱天禄  阅读(229)  评论(3编辑  收藏  举报