首页 > 编程语言 >实验1_C语言输入输出和简单程序应用编程

实验1_C语言输入输出和简单程序应用编程

时间:2024-09-30 10:38:36浏览次数:8  
标签:lf main 编程 int scanf 输入输出 C语言 printf include

任务1:

// 打印一个字符小人         
#include <stdio.h>
int main() 
{
 printf(" O \n");
 printf("<H>\n");
 printf("I I\n");
 printf(" O \n");
 printf("<H>\n");
 printf("I I\n");
 return 0;
} 

 

// 打印一个字符小人
#include <stdio.h>
int main() 
{
 printf(" O       O\n");
 printf("<H>     <H>\n");
 printf("I I     I I\n");
 return 0;
} 

任务2:

#include <stdio.h>

int main() {
    double a, b, c;
    // 输入三边边长
    while(scanf("%lf%lf%lf", &a, &b, &c)!=EOF){

    // 判断能否构成三角形
    if ((a + b > c) && (a + c > b) && (b + c > a))
        printf("能构成三角形\n");
    else
        printf("不能构成三角形\n");}
    return 0;
    
}

 

任务3:

#include <stdio.h>

int main()
{
    char ans1, ans2;
    printf("每次课前认真预习、课后及时复习了没? (输入 y 或 Y 表示有,输入 n 或 N 表示没有) : ");
    ans1 = getchar();
    getchar(); 
    printf("\n动手敲代码实践了没? (输入 y 或 Y 表示敲了,输入 n 或 N 表示木有敲) : ");
    ans2 = getchar();
    if ((ans1 == 'y' || ans1 == 'Y') && (ans2 == 'y' || ans2 == 'Y'))
        printf("\n罗马不是一天建成的, 继续保持哦:)\n");
    else
        printf("\n罗马不是一天毁灭的, 我们来建设吧\n");
    return 0;
}

 

当把getchar();去掉后,重新编译运行,可能出现的结果是:即使你正确地输入了第一个问题的答案并准备输入第二个问题的答案时,程序可能会直接输出 “罗马不是一天毁灭的,我们来建设吧”

当回答第一个问题后按下回车键时,除了输入的字符被读取到ans1外,回车键会产生一个换行符留在输入缓冲区中。如果没有额外的getchar()来处理这个换行符,那么在读取第二个答案时,这个换行符会被立即读取到ans2,而不是等待我输入新的字符。这样,无论我们原本期望输入什么作为第二个答案,程序都认为是换行符,从而导致判断条件不满足,输出错误的结果。

 

任务4:

 

#include <stdio.h>

int main() {
    double x, y;
    char c1, c2, c3;
    int a1, a2, a3;

    scanf("%d%d%d", &a1, &a2, &a3);//scanf("%d%d%d", a1, a2, a3);

    printf("a1 = %d, a2 = %d, a3 = %d\n", a1, a2, a3);

    scanf(" %c%c%c", &c1, &c2, &c3);
    printf("c1 = %c, c2 = %c, c3 = %c\n", c1, c2, c3);

    scanf("%lf,%lf", &x, &y);//scanf("%f,%lf", &x, &y);
    printf("x = %lf, y = %lf\n", x, y);
    return 0;
}

 

 

任务5:

#include <stdio.h>
int main() 
{
    int year;
    double secondsInYear = 60 * 60 * 24 * 365.25; // 考虑闰年,平均一年的秒数
    year = (int)((1000000000.0 / secondsInYear) + 0.5);
    printf("10 亿秒约等于 %d 年\n", year);
    return 0;
}

 

任务6:

#include <stdio.h>
#include <math.h>
int main()
{
 double x, ans;
 
 while(scanf("%lf", &x) != EOF)
 {
 ans = pow(x, 365);
 printf("%.2f的365次方: %.2f\n", x, ans);
 printf("\n"); 
 } 

 

任务7:

#include <stdio.h>

int main() {
    double c;
    printf("请输入摄氏度温度:");
    scanf("%lf", &c);
    while (c>= 0) {
        double f= 1.8 * c + 32;
        printf("摄氏度 c = %.2lf 时,华氏度 f = %.2lf。\n", c, f);
        printf("请输入摄氏度温度:");
        scanf("%lf", &c);
    }
    return 0;
}

 

任务8:

#include<stdio.h>
#include<math.h>
int main()
{
    double a,b,c;
    while(scanf("%lf %lf %lf",&a,&b,&c)!=EOF)
    {
        if(a+b>c&&a+c>b&&b+c>a)
        {
            double p,area;
            p=(a+b+c)/2;
           area=sqrt(p*(p-a)*(p-b)*(p-c));
            printf("a=%.0f b=%.0f c=%.0f area=%.3f\n",a,b,c,area);
        }
        else printf("0\n");
    }
    return 0;
 } 

 

 

 

 

 

标签:lf,main,编程,int,scanf,输入输出,C语言,printf,include
From: https://www.cnblogs.com/guxieyao/p/18441342

相关文章

  • 在面向对象编程中,感觉桥接和组合好像很像,他们有什么共性和差别呢
    1.相关链接最简单的桥接模式-CSDN博客最简单的理解组合模式_组合模式举例-CSDN博客 2.内容在面向对象编程中,桥接模式和组合模式确实有一些相似之处,但它们在设计理念和应用场景上存在显著的差异。以下是对这两种模式的共性和差别的详细分析:共性结构型设计模式:桥接模式和......
  • 面向对象编程中,对象的几种关系分别都是啥
    在面向对象编程中,对象之间的关系是构建复杂系统的基础。这些关系定义了对象之间如何交互和协作。以下是面向对象编程中对象的几种主要关系:1.依赖关系(Dependency)定义:一个类依赖于另一个类的定义。这种关系通常表现为一个类的方法参数、返回值或局部变量使用了另一个类。特点:......
  • WEB 编程:富文本编辑器 Quill 配合 Pico.css 样式被影响的问题之还是 iframe
    这个系列已经写了3篇了。这篇写如何使用iframe解决标题里面提到的问题。前情提要请看上一篇博文:WEB编程:富文本编辑器Quill配合Pico.css样式被影响的问题之ShadowDOMWEB编程:富文本编辑器Quill配合Pico.css样式被影响的问题之ShadowDOM-CSDN博客缘由缘由仍......
  • C语言输入一串数字,输出其中第一个能被3整除的整数
    输入若干整数(最多10个),输出其中第一个能被3整除的整数,如果没有这样的整数存在,则输出“no”输入:若干整数输出:第一个能被3整除的整数输入样例:2-1576810输出样例6输入样例:15274810111314输出样例:no#include<stdio.h>intmain(void){inti=0,i......
  • c语言实现:链表创建、插入、删除、翻转
    #include<stdio.h>#include<stdlib.h>//链表创建typedefstructNode{intdata;structNode*next;}Node;//创建一个节点Node*createNode(intdata){Node*newNode=(Node*)malloc(sizeof(Node));newNode->data=data;newNode......
  • 网络编程Day02
    通信协议网络通信协议:速率、传输码率、代码结构、传输控制...问题:非常的复杂分层:大事化小TCP/IP协议簇:实际上是一组协议TCP:用户传输协议UDP:用户数据报协议IP:网络互联协议TCPUDP对比TCP:打电话连接,稳定三次握手,四次分手最少需要三次,保证稳定连接最少需要四次......
  • C语言 | Leetcode C语言题解之第445题两数相加II
    题目:题解:structListNode*addTwoNumbers(structListNode*l1,structListNode*l2){intstack1[100];intstack2[100];inttop1=0;inttop2=0;intcarry=0;intsum=0;structListNode*temp=NULL;structListNode*he......
  • C语言 | Leetcode C语言题解之第443题压缩字符串
    题目:题解:voidswap(char*a,char*b){chart=*a;*a=*b,*b=t;}voidreverse(char*a,char*b){while(a<b){swap(a++,--b);}}intcompress(char*chars,intcharsSize){intwrite=0,left=0;for(intr......
  • shell编程五
    10.循环10.1循环概述循环类型说明for循环最常用的循环,2种格式while循环当型循环while可以加入条件,死循环,读取文件dountil循环直到循环极少用10.2for循环10.2.1最常用的for循环格式#最常用的一种for变量in候补清单(列表)do命令doneforn......
  • Python 面向对象编程基础
    面向对象编程(Object-OrientedProgramming,OOP)是一种编程范式,它将数据和操作数据的方法(函数)组合在一起,形成一个“对象”。Python是一种支持面向对象编程的语言,本文将介绍Python中面向对象编程的基础知识。类与对象在面向对象编程中,类(Class)是创建对象的蓝图或模板。它定......