实验二

大兔子大兔子 提交于 2019-12-03 09:34:53
/* 
《C语言程序设计教程学习指导》p118 实验内容(1) 
这是一个常用格式控制符使用示例
运行程序,观察行结果,对照每一行printf()中的格式控制符,理解其功能和用法
*/ 
#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("%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;
}

 

 

第一行正常

第二行值相同,格式不同

第三行%8d,%2d 数据域宽分别为8,2.不满域宽,左补空格

第四行f , 默认小数点后6位      8f 满足  8.1f域宽为8,点后为1 先点则缺域宽,左补齐  0.2f同理  .2e科学计数法,小数点后2位

第五行lf 小数点后6位

第六行 3c 域宽为3的字符型

第七行 s 字符串 15s 左补齐 10.5s 域宽为10,字符串实际输出位数为5 2.5s 同上 .3s 同上

 

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

 

 

1.scanf要加地址符 2.printf 以输出项选择用“,”或“ ”

3.scanf必须为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;
} 

 

/*
《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("不能构成三角形\n");}
     else if(a+b>c && a+c>b && b+c>a) {
     // 将ex2_3.cpp中line14-line19行替换成以下代码,从逻辑是否成立?
     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;
} 

 

 

// 功能: 从键盘上输入数字选择屏幕配色方案,打印字符串 

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

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

 

 

// 功能: 从键盘上输入数字选择屏幕配色方案,打印字符串 

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

#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 == 49) {
        system("color 02");
        printf("《黑客帝国》一类的影视剧常见这种屏幕色:)\n"); 
    } 
        
    else if(choice == 50) {
        system("color f0");
        printf("大部分编辑器默认是这种配色:)\n");    
    }
        
    else if(choice == 51) {
        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>
#include<stdlib.h>
int main()
{
    int a,b,c=0;
    scanf("%d",&a);
    int s=a;
 
    if(a<=0||a>=1000)        //控制数据范围 
    {
        printf("输入数据错误!\n");
        exit (0);
    }
    while(a!=0)
    {
        b=a%10;
        c=c*10+b;
        a=a/10;
    }
    if(c-s==0)
{

    printf("正序与逆序相同");} 
else {

    printf("正序与逆序不同");} 
    
    return 0;
 } 

 

 

//功能;输入年份,月份,求该月天数
#include<stdio.h>

int main()
{
int year,month,day,leapyear;
scanf("%d %d",&year,&month);
if(year<0||month<1||month>12)
{

    printf("输入的数据错误\n");
}

    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月是31天\n",year,month);
       else if(month==4||month==6||month==9||month==11)
         printf("%d年%d月是30天\n",year,month);
             else if(leapyear==1)
             printf("%d年2月是29天",year);
                 else if(leapyear==0)
                    printf("%d年2月是28天",year);
   
    return 0; 
         
 } 

 

 

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a<0||a>100)
    {
        printf("输入的数据错误\n");
        exit(0);
         
    }
    switch(a/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;
}

 

 

结论

1.易于打错单词,中文下的分号,嵌套总是有问题

2.发现:0-9那题,输入11,54...只用第一个数

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!