第二次实验

实验任务1

1.

//格式化输入.输出函数的简单应用 
#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;
    
}

2.指定以宽度4的格式输出,且指定左面不使用的空位置自动填0。

3.

//格式化输入.输出函数的简单应用 
#include<stdio.h>
int main(){
    int num,i;
    i=1;
    while(i<=3)
    {
        scanf("%d",&num);
        printf("2049%04d\n",num);
        i++;
    }
    
    return 0;
    
}

实验任务2

1.

//格式化输入输出函数,及各种格式控制符的使用

#include <stdio.h> 
int main(){
    int x=1234;
    float f=123.456;
    double m=123.456;
    char ch='a';
    char a[]="Hello,world!";//定义一个字符型数组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("%1f\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;
     
}

2.

%d:按十进制整数输出

%f:按浮点型输出

%c:按字符输出

%s:按字符串输出

%8.1f:按浮点型输出,字段宽度为8,小数点后一位

%.2f:按浮点型输出,小数点后两位

%lf:输出浮点型双精度数据

%ld:以十进制输出有符号长整型数据

实验任务3

1.

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

2

.

实验任务4

1.

#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'||ans1=='Y')&&(ans2=='y'||ans2=='Y'))  // 待补足,判断用户回答ans1和ans2都是小写y或大写Y
        printf("\n罗马不是一天建成的:)\n");    
    else
        printf("\n罗马不是一天毁灭的。。。\n");

    return 0;
} 

2.

实验任务5

1.

 

// 判断字符类型 
#include <stdio.h>
int main() {
    char x;
    
    x = getchar();
    
    if( x<='9'&&x>='0') // 待补足①,判断x是数字字符表达式 
        printf("%c是数字字符\n", x);
    else if( x>='a'&&x<='z'||x>='A'&&x<='Z') // 待补足②,判断x是大写或小写英文字母的表达式 
        printf("%c是英文字母\n", x);
    else
        printf("%c是其它字符\n", x);
    
    
    return 0;
} 

2.

实验任务6

 1.

#include <math.h>
#include <stdio.h>
int main(){
    int n,sum;
    printf("请从键盘输入一个1到10之间的正整数\n");

    while(1){
        scanf("%d",&n);
        sum=1*(1-pow(2,(n+1)))/(1-2);
        printf("n=%d时, sum=%d\n",n,sum);
    }
    
    return 0;    
}

2.

实验任务7

1.

//打印字符小人阵列
#include <stdio.h> 
int main(){
    int line,i,m,n;
    line=1;
    
    while(line<=5)
    {
        n=-2*line+11;
        m=4*line-4;
        
        i=1;
        while(i<=m){
            printf(" ");
            i++;
        }
        
        i=1;
        while(i<=n){
            printf(" o  ");
            i++;
        }
        
        printf("\n");
        
        i=1;
        while(i<=m){
            printf(" ");
            i++;
        }
        
        i=1;
        while(i<=n){
            printf("<H> ");
            i++;
        }
        
        printf("\n");
        
        i=1;
        while(i<=m){
            printf(" ");
            i++;
        }
        
        i=1;
        while(i<=n){
            printf("I I ");
            i++;
        }
        
        printf("\n");
        
        line++;
    
    }
    
    return 0;
}

2.

实验总结.

1.我在实践中深刻了解了各格式控制符的作用;学会了:getchar()和putchar()用于单个字符的输入.输出。

2.我感受到C语言好难好深奥。

3.尚存的问题:对于“打印字符小人阵列”等复杂问题,我还未掌握透彻,需要不断去学习。

posted @ 2021-03-28 22:45  5班-高乐  阅读(83)  评论(3)    收藏  举报