实验二作业

PART 1 

1.运行结果不一致

 

 

 

 

2.

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

 

 

 原因1.缺少地址码

         2.双精度要用%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 || b==c) {
if (a==b && a==c)
printf("构成等边三角形\n");
else
printf("构成等腰三角形\n");
}
else
printf("构成一般三角形\n");
     }
     else
         printf("不能构成三角形\n");
         
     return 0;
} 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 2.

 

#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请输入, 选择你想使用的屏幕配色方案:    ");
    
    // 要求用户从键盘输入0~9的数字,选择屏幕配色方案 
    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;
} 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

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

 

 

 

 

 

 

 

 

 

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

 

 

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

 

 

 

 

 

 

 

 

 

 

实验总结:part1部分

第一个实验有的地方仍为搞懂,只能找出部分,并未能完全解决问题

 

part3部分

在开始时对if else的使用以及括号是写在里面还是写在外面并不是很熟练

在编写正序和逆序那个程序时,不知道为什么先从0-10讨论总是写不出来,此外某一项的else语句总提示前无if不好运行不知为何。

还有就是有些语句是在输入数据运行之前就应该显示的,经常会在编写的时候忘记顺序。

posted @ 2019-11-04 22:03  张茗凯  阅读(148)  评论(3)    收藏  举报