码迷,mamicode.com
首页 > 其他好文 > 详细

实验二

时间:2019-11-06 09:12:32      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:宽度   col   ==   配色方案   float   错误   com   scan   长度   

技术图片
//part1 ex2.1
#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; }

 技术图片

第一第二个printf输出十进制整数实际长度,与原数据一致

第三个printf输出十进制整数,宽度分别为8和2,与原数据不一致

第四个printf中%f输出单精度浮点数,十进制与二进制转换时存在精度误差,与原数据不一致;%8f输出单精度浮点数,宽度为8,存在精度误差,不一致;%8.1f输出浮点数,宽度为8,其中小数位保留一位,不一致;%.2f输出浮点数,保留两位小数不一致;%.2e表示按指数形式输出,保留两位小数,不一致

第五个printf输出双精度浮点数,与原数据一致

第六个printf输出的字符前要空两格,与原数据不一致

第七个printf中%s输出字符串,与原数据一致;%15s输出字符串,占15位,向右对齐,不一致;%10.5s输出字符串,占10位,向右对齐只保留5位,不一致;%2.5s,   ,不一致;%.3s输出字符串,只保留三位,不一致

 

 

 

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


//第一个错误:第六行a1,a2,a3前没有添加地址符&
//第二个错误:第十行十一行第一个%f应该替换为%lf

 

 总结:%5d %2f等输出的数向右对齐,常用于表格中;%.2f %.3f控制小数精度的一致;%c输出字符 %s输出字符串;长整型用%ld 双精度型用%lf

 

 

 

Part 2

#include <stdio.h>
 int main() {
     double a,b,c;
     scanf("%lf %lf %lf", &a, &b, &c);
     if(a<0 || b<0 || c<0)
         printf("不能构成三角形\n");
     else if(a+b>c && a+c>b && b+c>a) {
         if(a==b && a==c)   
             printf("构成等边三角形\n");
         else if(a==b || a==c || b==c)   
             printf("构成等腰三角形\n");    
         else
             printf("构成一般三角形\n");
     }
     else
         printf("不能构成三角形\n");
    return 0;
} 

技术图片

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

技术图片

 

 

 

#include <stdio.h>
 int main() {
     double a,b,c;
     scanf("%lf %lf %lf", &a, &b, &c);
     if(a<0 || b<0 || c<0)
         printf("不能构成三角形\n");
     else if(a+b>c && a+c>b && b+c>a) {
         if(a==b || a==c || b==c) {
        if (a==b && a==c) 
        printf("构成等边三角形\n");
        else printf("构成等腰三角形\n");
        } 
        else printf("构成一般三角形\n");
    }
     else
         printf("不能构成三角形\n");
    return 0;
} 

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

 技术图片

 

 

 

 

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

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

 

改后

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

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

 

 

 

Part 3

#include<stdio.h>
int main()
{
    int number;
    printf("请输入一个三位以内的十进制整数: ");
    scanf("%d",&number);    
    printf("计算其逆序数...\n");
    if(number>0 && number<999)
    {    
        if(number>99 && number/100 == number%10)
            printf("%d正序和逆序相同",number);   
        else if(number>9 && number<100 && number/10 == number%10 )
            printf("%d正序和逆序相同",number);
        else if(number<10)
            printf("%d正序和逆序相同",number);
        else
            printf("%d正序和逆序不同",number);
     }  
     else
        printf("该整数不是三位以内的十进制整数\n");
    return 0;
}

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

 

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

 

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

 

#include<stdio.h>
#include<stdlib.h>
int main()
{
    printf("输入分数(0~100):");
    int grade;
    scanf("%d",&grade);
    if(grade<0 || grade>100)
    {
        printf("输入的数据错误\n");
        exit(0);
    }
    switch(grade/10)
    {    
        case 10:
        case 9:printf("优秀");break;
        case 8:printf("良好");break;
        case 7:printf("中等");break;
        case 6:printf("及格");break;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
        case 0:printf("不及格");break;
    }    
    return 0;
}

 

  

 

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

 总结:对swictch和if的使用基本上掌握,算法设计需要很长时间,有时会忘记分号,还需要更多地去练习巩固。

实验二

标签:宽度   col   ==   配色方案   float   错误   com   scan   长度   

原文地址:https://www.cnblogs.com/wzh20010905/p/11795401.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!