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


    1.输入一个整数 x,计算并输出下列分段函数  sign(x)  的值

    #include<stdio.h>
    int main(void)
    {
     int x;/*定义变量*/
     printf("请输入 x:");
     scanf("%d",&x);
     /*条件语句*/
     if(x<0){
      printf("y=1
    ");
     }
      if(x=0){
       printf("y=0
    ");
      }
      else{
       printf("y=-1
    ");
      }
      return 0;
    }

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

    #include<stdio.h>
    int main(void)
    {
     
     int count,i,n;
     double grade,total;/*定义变量*/
     printf("Enter n:");/*提示输入学生人数n*/
     scanf("%d",&n);
     total=0;/*对变量进行赋值0*/
     count=0;
     /*开始循环,循环n次*/
     for(i=1;i<=n;i++){
      
      printf("Enter grade:");
      scanf("%lf",&grade);
      total=total+grade;/*将每次输入的成绩累加给total*/
      if(grade>=60){/*如果输入的成绩大于等于60,则count加1*/
       
       count++;
      }
     }
     printf("Grade average=%.2f
    ",total/n);/*输出平均成绩,即为总成绩除以总人数*/
     printf("Number of success=%d
    ",count);/*输出几个人数count*/
     return 0;

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

    #include<stdio.h>
    int main(void)
    {
     int letter,digit,blank,other;/*定义变量*/
     char ch;/*定义字符型变量*/
     int i;
     letter=digit=blank=other=0;/*赋初值*/
     printf("Enter 15 characters:");/*提示输入字符*/
     /*循环15次*/
     for(i=1;i<=15;i++){
      ch=getwchar();/*字符为键盘输入*/
      /*判断语句*/
      if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
      letter++;/*符合条件的加1,下同*/
      else if(ch>='0'&&ch<='9')
      digit++;
      else if((ch='
    ')||(ch=' '))
      blank++;
      else
      other++;
      
     }
     printf("letter=%d,digit=%d,blank=%d,other=%d
    ",letter,digit,blank,other);/*输出*/
     return 0;
    }

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

    #include<stdio.h>
    int main(void)
    {
        int i,n,year;/*定义变量*/
        printf("提示:输入-1,结束查询
    ");/*输入提示*/
        printf("请输入您需要查询的年份个数n:");
        scanf("%d",&n);
        /*循环n次*/
        for(i=1;i<=n;i++){
            printf("请输入您要查询的年份(如2013):");/*提示输入年份*/
            scanf("%d",&year);
            /*判断语句*/
            if(year==-1)
                break;/*若输入-1,跳出循环*/
            else if((year%4==0)&&(year%100!=0)){
                printf("恭喜您,您输入的年份是闰年
    ");
            }
            else{
            printf("抱歉,您输入的年份不是闰年
    ");
                }
        }
        printf("感谢您使用本系统,欢迎下次再来!");
        return 0;
    }

     5.查询水果的单价。有 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;
        /*查询商品价格,按0退出*/
            printf("[1]苹果
    ");
            printf("[2]梨
    ");
            printf("[3]桔子
    ");
            printf("[4]葡萄
    ");
            printf("[0]退出
    ");
        for(i=1;i<=5;i++){/*for语句循环体开始*/
            printf("选择您所需查询的水果:");/*输入提示*/
            scanf("%d",&choice);/*接受用户输入的编号*/
            /*如果输入0,提前结束for循环*/
            if(choice==0)
                break;/*用break跳出for循环*/
            /*根据编号,将相应的价格赋给price*/
            switch(choice){
    
            case 1:price=3.00;break;/*用break跳出switch语句,下同*/
            case 2:price=2.50;break;
            case 3:price=4.10;break;
            case 4:price=10.20;break;
            default:price=0.0;break;
            }
            /*输出商品价格*/
            printf("price=%0.1f
    ",price);
        }/*for 语句循环结束*/
        printf("谢谢惠顾!");/*结束查询,谢谢用户使用*/
        return 0;
    }

  • 相关阅读:
    codechef Dynamic GCD [树链剖分 gcd]
    bzoj 4546: codechef XRQRS [可持久化Trie]
    bzoj 4835: 遗忘之树 [树形DP]
    bzoj 4033: [HAOI2015]树上染色 [树形DP]
    bzoj 4591: [Shoi2015]超能粒子炮·改 [lucas定理]
    3167: [Heoi2013]Sao [树形DP]
    bzoj 3812: 主旋律 [容斥原理 状压DP]
    有标号的二分图计数 [生成函数 多项式]
    有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
    BZOJ 3028: 食物 [生成函数 隔板法 | 广义二项式定理]
  • 原文地址:https://www.cnblogs.com/ly1102385159/p/3403780.html
Copyright © 2020-2023  润新知