• 作业 3 应用分支与循环结构解决问题


    /*输入一个整数 x,计算并输出下列分段函数  sign(x)  的值*/
    #include<stdio.h> int main(void) { int x,y; //定义整型变量x和y
    printf(
    "Enter x: "); scanf_s("%d",&x); if(x<0){ //当x小于0时,y=-1
    y
    = -1; } else if(x==0){ //x等于0时,y=0
    y
    =0; } else{ //x大于0时,y=1
    y
    =1; } printf("y=%d ",y); return 0; }

       

     2.输入一个正整数 n,再输入 n 个学生的成绩,计算平均成绩,并统计所有及格学生的人数。

    /* 输入一个正整数 n,再输入 n 个学生的成绩,计算平均成绩,并统计所有及格学生的人数 */
    #include<stdio.h>
    int main(void)
    {
        int count,i,num; /* count表示及格同学人数,num表示输入的个数 */
        double grade,total; /* grade表示成绩,total表示总成绩 */
        num=0;              //令初始值都为0
    total
    =0; count=0; printf("Enter grade: "); scanf_s("%Lf",&grade); while(grade>=0){ total=total+grade; //将成绩累和
    num
    ++; if(grade>=60) //成绩大于等于60,即及格的人数加一
    count
    ++; scanf_s("%Lf",&grade); } if(num!=0){ //如果个数不等于0即输出结果
    printf(
    "Grade average is %.2f ",total/num); printf("The number of 及格的人 is %d ",count); } else //否则,输出平均成绩为0
    printf(
    "Grade average is 0 "); return 0; }

     

    3.输入 15 个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数


    /* 输入 15 个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数 */
    #include<stdio.h> int main(void) { int blank,digit,other,letter; //定义整型变量blank=空格,数字=digit,other=其他,letter=字母
    char ch; //定义字符型变量
    int i; blank=digit=other=letter=0; printf("Enter 15 个字符:"); for(i=1;i<=15;i++){ ch=getchar( ); //从键盘输入字符
    if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z')) //分别统计字母等个数
    letter
    ++; else if(ch>='0'&&ch<='9') digit++; else if(ch>=' '&&ch<=' ') blank++; else other++; } printf("blank=%d,digit=%d,letter=%d,other=%d ",blank,digit,letter,other); //输出结果
    return 0; }

     4.循环输入多个年份 year,判断该年是否为闰年。判断闰年的条件是:能被  4  整除但不能被100  整除,或者能被  400  整除。输入-1退出程序执行

    /* 循环输入多个年份 year,判断该年是否为闰年 */
    #include<stdio.h> int main(void) { int i,year,n; printf("请输入n"); scanf_s("%d",&n); printf("Input -1 to quit:"); scanf_s("%d", &year); if( year==-1 ) //输入-1退出程序
    return -1; for(i=1;i<=n;i++){ printf("请输入年份:"); scanf_s("%d",&year); if((year%4==0&&year%100!=0)||(year%400==0)){ //若能被4整除但不能被100 整除,或者能被400整除
    printf(
    "恭喜你!!这一年是闰年! "); } else{ printf("Oh NO!这一年不是闰年!! "); } } return 0; }

     

    5.输入五级制成绩(A-E),输出相应的百分制成绩(0-100)区间,要求使用 switch语句。例如,输入 A,输出 90-100。五级制成绩对应的百分制成绩区间为:A(90-100)、B(80-89)、C(70-79)、D(60-69)和 E(0-59)。

    /* 输入五级制成绩(A-E),输出相应的百分制成绩(0-100)区间 */
    #include <stdio.h> int main(void) { char ch; //定义字符型变量
    printf(
    "输入成绩:"); ch=getchar(); //从键盘输入字母
    switch(ch){ case 'A': //设置字母所对应的分数
    printf(
    "90-100 "); break; case 'B': printf("80-89 "); break; case 'C': printf("70-79 "); break; case 'D': printf("60-69 "); break; case 'E': printf("0-59 "); break; default: printf("Invalid input "); break; } return 0; }

    6.查询水果的单价。有 4 种水果,苹果(apples)、梨(pears)、桔子(oranges)和葡萄(grapes),单价分别是 3.00 元/公斤,2.50 元/公斤,4.10 元/公斤和 10.20 元/公斤。在屏幕上显示以下菜单(编号和选项),用户可以连续查询水果的单价,当查询次数超过 5 次时,自动退出查询;不到 5 次时,用户可以选择退出。当用户输入编号 1~4,显示相应水果的单价(保留两位小数);输入 0,退出查询;输入其他编号,显示价格为 0。

    /* 查询水果的单价 */
    #include<stdio.h> int main(void) { int choice,i; double price; for(i=1;i<=5;i++){ //for的循环语句开始
    printf(
    "[1]select apples "); //查询苹果的价格
    printf(
    "[2]select pears "); printf("[3]select oranges "); printf("[4]select grapes "); printf("[0]select Exit "); printf("Enter choice:"); scanf_s("%d",&choice); //接受用户输入的编号
    if(choice==0) break; //此处用break跳出for循环
    switch(choice){ case 1:price= 3.00;break; case 2:price=2.50;break; case 3:price=4.10;break; case 4:price=10.20;break; default:price=0.00;break; } printf("price=%0.2f ",price); } printf("Thanks "); return 0; }

         

    ---------------------------------------------------------作业分割线---------------------------------------

    本次作业出现的问题还是老问题,总忘记=和==的区别,直接将x赋值,导致程序中输出结果一直是0,

    以及打程序时,不仔细本来输入整型变量,最终结果用浮点型变量输出,导致程序运行错误;

  • 相关阅读:
    jdk8u241各系统版本
    jdk8u241各系统版本
    【转】软件测试测试用例设计规范
    虚拟机安装Centos(VirtulBox)
    Java Selenium搭建Web UI自动化环境
    【转】WEB(Javascript)远程调用方案清单
    关于.net页面提交后css失效或部分失效的问题
    常用照片尺寸 照片规格(英寸) (厘米) (像素) 数码相机类型
    【转】jquery的autoComplete 中文介绍
    网页 乱码
  • 原文地址:https://www.cnblogs.com/laurenliu1994/p/3374484.html
Copyright © 2020-2023  润新知