作业 2 分支、循环结构
1计算各个x取值范围内,y对应的值
#include<stdio.h> int main(void) { int x,y; printf("Enter x:"); /*输入x的值*/ scanf("%d",&x); /*根据公式和x的取值范围算出y的值*/ if(x<0){ printf("y=-1"); } else if(x=0){ printf("y=0"); } else { printf("y=1"); } return 0; }
2.计算平均成绩,统计及格人数
#include<stdio.h> int main(void) { int count,i,num; double grade,total; num=0; total=0; count=0; printf("Enter grade:\n");//输入成绩 scanf("%Lf",&grade); //循环 while(grade>=0){ total=total+grade; num++; //总分相加,便于下一步求平均值 if(grade>=60) count++; //统计及格人数 scanf("%Lf",&grade); //输入下一个成绩,便于循环 } if(num!=0){ //输出结果 printf("Grade average is %.2f\n",total/num); printf("The number of 及格人数 is %d\n",count); } else printf("Grade average is 0\n"); return 0; }
3.统计输入的十五个量分别属于的类型
#include<stdio.h> int main(void) { int 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\n",blank,digit,letter,other); return 0; }
4.判断输入的年份是否为闰年
#include<stdio.h> int main(void) { int i,year,n; printf("Enter n:");//提示输入要判断的个数 scanf("%d",&n); printf("Input -1 to quit:");//输入-1结束该程序 scanf("%d", &year); if( year==-1 ) return -1; //判断是否为闰年 for(i=1;i<=n;i++){ printf("输入年份:"); scanf("%d",&year); if((year%4==0&&year%100!=0)||(year%400==0)){ printf("这一年是闰年。\n"); } else{ printf("Oh NO!这一年不是闰年!!\n"); } } return 0; }
5.判断输入的字符属于哪个分数段
#include <stdio.h> int main(void) { char ch; printf("Enter grade:"); ch=getchar();//输入字符 //分别判断输入的字符属于哪个分数段,并输出结果,结束判断 switch(ch){ case 'A': printf("90-100\n"); break; case 'B': printf("80-89\n"); break; case 'C': printf("70-79\n"); break; case 'D': printf("60-69\n"); break; case 'E': printf("0-59\n"); break; default: printf("Invalid input\n"); break; } return 0; }
6.输入要买的水果,得出其报价
#include<stdio.h> int main(void) { int choice,i; double price;//价格为浮点型 for(i=1;i<=5;i++){ //输出菜单,供选择 printf("[1]select apples\n"); printf("[2]select pears\n"); printf("[3]select oranges\n"); printf("[4]select grapes\n"); printf("[0]select Exit\n"); printf("Enter choice:"); scanf("%d",&choice);//输入选项 if(choice==0)//判断输入是否为0 break; //分别带入所输入的选项对应的价格 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;//如果输入的不为菜单选项的任何值,则显示价格为0 } printf("price=%0.2f\n",price);//输出对应选项的价格 } printf("Thanks\n");//输出问候语 return 0; }
心得:表示写菜单的时候,写好一个菜单之后复制修改成其他几个菜单是非常愉快的,不用一个个辛酸打出来真是极好的,让我一下子把书啃掉还是没有做到,一些术语还是迷茫状态。这次实验很大部分参照类似例题。所以,没有书本翻开看的话,估计活不成了。再接再厉==、
11.03
注释修改完毕==、 写注释都是按照自己的想法写的,没有一点专业性。题目是自己看了程序按自己理解写的。因为觉得再去找程序的题目复制粘贴反而麻烦。不如靠自己理解。