第十二堂课后作业

来源:互联网 发布:公司官网优化方案 编辑:程序博客网 时间:2024/05/28 19:24
作业1:
通过输入两个加数,给学生出一道加法运算题。如果输入答案正确,则显示“Y”;否则显示“N”。
要求:程序循环执行n次,用函数实现判断对错和输出结果
输入输出示例:(括号内部分是对输入输出的解释,不要出现在程序中)
示例一: 
   1,2(输入)
   1+2=4(1+2=由程序输出,4由键盘输入)
   N. (由程序输出)
示例二:
   1,2(输入)
   1+2=3(1+2=由程序输出,3由键盘输入)

   Y(由程序输出).

代码如下:

#include<stdio.h>void jia(int x,int y,int z){if(x+y==z)printf("Y\n");if(x+y!=z)printf("N\n");}void main(){printf("简单的加法\n");while(1){int a,b,c;printf("请输入想要加的两个数:\n");scanf_s("%d%d",&a,&b);printf("%d+%d=",a,b);scanf_s("%d",&c);jia(a,b,c);}}
运行效果图:


-----------------------分割线-----------------------
作业2:
统计和分析某班学生考试成绩,实现如下学生成绩管理功能:
(1)录入每个学生的学号和考试成绩;
(2)计算课程的平均分;
(3)按成绩由高到低排出名次表;
(4)按学号查询学生排名及其考试成绩;
(5)按优秀(90~100)、不及格(0~59)2个类别,统计每个类别的人数及其所占的百分比;
要求:最多不超过40人(具体人数由键盘输入)参加某门课程的考试,用一维数组作函数参数编程

代码如下:

#include<stdio.h>#define max 40void px(int *c,int *h,int n){int t1,t2;for(int i=0;i<n;i++){for(int j=0;j<n-i-1;j++)if(*(h+j)<*(h+j+1)){t1=*(h+j);*(h+j)=*(h+j+1);*(h+j+1)=t1;t2=*(c+j);*(c+j)=*(c+j+1);*(c+j+1)=t2;}}}void main(){printf("这是个让人很不爽的学生成绩管理系统\n");int number[max],score[max],shul,sum=0;int i;float ave;printf("请输入学生的人数:\n");scanf("%d",&shul);printf("请输入学生的学号与分数:\n");for(i=0;i<shul;i++){scanf("%d,%d",&number[i],&score[i]);}for(i=0;i<shul;i++){sum=sum+score[i];}ave=float(sum/shul);printf("平均分为:%f\n",ave);printf("成绩名次表:\n");int *c,*h;c=number;h=score;px(c,h,shul);for(i=0;i<shul;i++){printf("%d,%d\n",number[i],score[i]);}printf("请输入您想要查询的学生学号:\n");int a;scanf("%d",&a);for(i=0;i<shul;i++){if(number[i]==a)printf("学号:%d,名次:%d,成绩:%d\n",number[i],i+1,score[i]);} float m=0,n=0;for(i=0;i<shul;i++){if(score[i]>90)m++;    if(score[i]<60)n++;}printf("优秀\t不及格\n");printf("%f\t%f\n",m,n);printf("%f%%\t%f%%\n",(m/shul)*100,(n/shul)*100);getchar();}


运行效果图:

-----------------------分割线-----------------------

作业3:用指针(间接引用)求出两个数中的最大数.

代码如下:

#include<stdio.h>void main(){int a,b;int *p1;printf("请输入两个数:\n");scanf_s("%d%d",&a,&b);if(a>b)p1=&a;if(a<b)p1=&b;printf("%d",*p1);}
运行效果图如下:


-----------------------分割线-----------------------

作业4:编写交换两个变量值的函数,并交换主函数中两个变量的值(不能使用全局变量传递数据).

代码如下:

#include<stdio.h>void jh(int *m,int *n){int t;t=*m;*m=*n;*n=t;}void main(){int a=1,b=2;printf("交换前:a=%d,b=%d\n",a,b);jh(&a,&b);printf("交换后:a=%d,b=%d\n",a,b);getchar();}

运行效果图:


-----------------------分割线-----------------------
作业5:从键盘输入5个整数存入一维数组中,再按反序输出(要求用指针访问数组元素).

代码如下:

#include <stdio.h>int main(){int a[5];for(int i=0;i<5;i++){scanf_s("%d",&a[i]);}int *p1=a;int *p2=a+4;for(;p1<p2;p1++,p2--){int t;t=*p1;*p1=*p2;*p2=t;}for(int i=0;i<5;i++){printf("%d ",a[i]);}     return 0;}

运行效果图:


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子玩电脑游戏成瘾怎么办 加减法孩子学不会怎么办 孩子学习学不会怎么办 脸部五官太小怎么办 小班教案我该怎么办 鼠标不能拖拽怎么办 病了怎么办教学反思 想开水果店没经验怎么办 婴儿听力筛查未通过怎么办 怀孕吐到胃出血怎么办 hp打印机颜色浅怎么办 爱普生打印机没有红色怎么办 孕吐吐到胃出血怎么办 孩子不会写2怎么办 口渴了怎么办大班教案 小班健康跌倒了怎么办 刷油漆有纹路怎么办 纯白门会发黄怎么办 发现小孩子偷钱怎么办 青春期孩子偷钱怎么办 孩子偷钱屡教不改怎么办 孩子经常偷钱怎么办 小孩子总是偷钱怎么办 小孩喜欢偷钱怎么办 小孩老是偷钱怎么办 如果孩子偷钱怎么办 小孩在家偷钱怎么办 买了西晒房怎么办 乳胶漆有打磨痕迹怎么办 墙上乳胶漆用水擦完太亮了怎么办 外墙腻子不好打磨怎么办 腻子打磨的灰尘怎么办 家里的壁纸脏了怎么办 家装用冷风管冬天取暖怎么办? 房子装修冷色系怎么办 高血压突然变低血压怎么办 玩单机游戏卡顿怎么办 老人血压太低怎么办 老年人血压太低怎么办 觉总是不够睡怎么办 老年人气不够用怎么办