实验二

Posted qzc861122

tags:

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

Part1

一、部分变量的值与代码中赋给变量的初始值不一致。

分析解释:

//输出123.456001是计算机中采用二进制,输入数只能转化为二进制数存储,输出时就不能将原本的十进制123.456输出;

//输出123.5是%8.1f保留一位小数;

//2e是用科学计数法表示且保留小数点后两位;

//%lf指长整数,保留小数点后六位。

二、找出错误,运行程序。

/* 
C语言程序设计教程学习指导》p119 实验内容(2)  
这是一个格式化输入输出函数及格式符使用练习
找出两处错误,修改并运行程序 
为a1,a2,a3,c1,c2,c3,x,y输入数据,使得:
a1=1,a2=2,a3=3,c1=‘a‘,c2=‘b‘,c3=‘c‘, x=1.5, y=2.5 
*/ 
#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
",a1,a2,a3);
    scanf("%c%c%c",&c1,&c2,&c3);
    printf("%c%c%c
",c1,c2,c3);
    scanf("%lf,%lf",&x,&y);
    printf("%lf,%lf
",x,y);
    return 0;
} 

 

// 第一个scanf中a1,a2,a3缺少地址符 &
//“%f”f前缺少l
 
 
 
Part2
一、三角形类型问题
/*
《C语言程序设计教程学习指导》p122 实验内容(1):判断三角形类型:一般三角形、等腰三角形、等边三角形 
 这是一个使用多分支if语句编程解决非数值类问题示例 
 运行程序,输入不同边长数据进行测试,观察输出结果是否正确,理解和巩固if语句功能和用法
*/ 
 #include <stdio.h>
 int main() {
     double a,b,c;
     scanf("%lf %lf %lf", &a, &b, &c);
     
     if(a<0 || b<0 || c<0)
         printf("不能构成三角形
");
     else if(a+b>c && a+c>b && b+c>a) {
         if(a==b || a==c || b==c)   {
             if(a==b&&a==c)
             printf("构成等边三角形
");
         else
             printf("构成等腰三角形
");    
         }
         else
             printf("构成一般三角形
");
     }
     else
         printf("不能构成三角形
");
         
     return 0;
}

 

 技术图片
 
 技术图片
 
 技术图片
 
 技术图片
 
 二、屏幕配色方案问题
// 功能: 从键盘上输入数字选择屏幕配色方案,打印字符串 

// 输入1, 选择黑底绿色配色方案 
// 输入2,选择白底黑色配色方案 
// 输入3,选择蓝底黑色配色方案 
// 输入其它,选择黑底白字配色方案(默认) 

#include <stdio.h>
#include <stdlib.h>
int main() {
    int choice;
    
    // 显示菜单 
    printf("输入0~9以内的数字,选择屏幕背景色前景色方案: 
");
    printf("1-	黑底绿色
");
    printf("2-	白底黑色
");
    printf("3-	蓝底白色
");
    printf("其它-	黑底白色(默认)
");
    printf("
请输入, 选择你想使用的屏幕配色方案:    ");
    
    // 要求用户从键盘输入0~9的数字,选择屏幕配色方案 
    scanf("%d",&choice);
    
    // 根据用户输入,设置屏幕配色方案 
    if (choice == 1) {
        system("color 02");
        printf("《黑客帝国》一类的影视剧常见这种屏幕色:)
"); 
    } 
        
    else if(choice == 2) {
        system("color f0");
        printf("大部分编辑器默认是这种配色:)
");    
    }
        
    else if(choice == 3) {
        system("color 1f");
        printf("这是机器蓝屏故障时的不讨喜色:)
");
    }
        
    else {
        system("color 0f");
        printf("控制台程序默认小黑窗:)
");        
    }
        
        
    printf("programming is fun, just try@_@
");
    
    
    return 0;
}

技术图片

 
 技术图片
 
 技术图片
 
 技术图片

 

 

Part3:编程练习

一、正逆序问题

#include<stdio.h>
int main(){
    int a,b,c,d;
    printf("请输入一个三位以内的十进制整数:");
    scanf("%d",&a);
    printf("计算其逆序数...
");
    b=a/10;
    c=a%10;
    d=a/100;
    if(a<0||a>999)
    printf("数据错误");
    else if(a>=0&&a<10)
    printf("%d正序和逆序相同",a);
    
    if(a>=10&&a<100&&b==c)
    printf("%d正序和逆序相同",a);
    else if(a>=10&&a<100&&b!=c)
    printf("%d正序和逆序不同",a);
    
    if(a>=100&&a<1000&&c==d)
    printf("%d正序和逆序相同",a);
    else if(a>=100&&a<1000&&c!=d)
    printf("%d正序和逆序不同",a);
    return 0;
}

技术图片

技术图片

技术图片

技术图片

二、日期问题

#include<stdio.h>
int main(){
    int a,b;
    printf("输入年份 月份:
");
    scanf("%d %d",&a,&b);
    if(b<1||b>12)
    printf("数据错误");
    else{
        if(a%4==0&&a%100!=0||a%400==0){
            if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
            printf("%d年%d月是31天",a,b);
            else if(b==2)
            printf("%d年%d月是29天",a,b);
            else
            printf("%d年%d月是30天",a,b);
        }
        else{
            if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
            printf("%d年%d月是31天",a,b);
            else if(b==2)
            printf("%d年%d月是28天",a,b);
            else
            printf("%d年%d月是30天",a,b);    
        }
    } 
    return 0;    
}

技术图片

技术图片

技术图片

三、分数等级问题

#include<stdio.h>
#include<stdlib.h>
int main(){
    int a,b;
    printf("输入分数(0~100):");
    scanf("%d",&a);
    if(a<0||a>100){
        printf("分数不在有效区间内
");
        exit(0);
    } 
    b=a/10;
    switch(b){
    case 1:
    case 2: 
    case 3: 
    case 4: 
    case 5:printf("不及格
");break; 
    case 6:printf("及格
");break;  
    case 7:printf("中等
");break;  
    case 8:printf("良好
");break;  
    case 9:
    case 10:printf("优秀
");break;   
    }
    return 0;
}

技术图片

技术图片

技术图片

技术图片

 

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

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

OpenGL基础学习之二代码基本结构

实验九:根据材料编程

为什么二代测序的原始数据中会出现Read重复现象?

二代身份证号码编码规则

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