2012电子信息 第十二堂课后作业
2013-05-30 18:12
344 查看
作业1:
通过输入两个加数,给学生出一道加法运算题。如果输入答案正确,则显示“Y”;否则显示“N”。
要求:程序循环执行n次,用函数实现判断对错和输出结果
输入输出示例:(括号内部分是对输入输出的解释,不要出现在程序中)
示例一:
1,2(输入)
1+2=4(1+2=由程序输出,4由键盘输入)
N. (由程序输出)
示例二:
1,2(输入)
1+2=3(1+2=由程序输出,3由键盘输入)
Y(由程序输出).
-----------------------分割线-----------------------
作业2:
统计和分析某班学生考试成绩,实现如下学生成绩管理功能:
(1)录入每个学生的学号和考试成绩;
(2)计算课程的平均分;
(3)按成绩由高到低排出名次表;
(4)按学号查询学生排名及其考试成绩;
(5)按优秀(90~100)、不及格(0~59)2个类别,统计每个类别的人数及其所占的百分比;
要求:最多不超过40人(具体人数由键盘输入)参加某门课程的考试,用一维数组作函数参数编程
输入输出示例:
-----------------------分割线-----------------------
作业3:用指针(间接引用)求出两个数中的最大数.
-----------------------分割线-----------------------
作业4:编写交换两个变量值的函数,并交换主函数中两个变量的值(不能使用全局变量传递数据).
-----------------------分割线-----------------------
作业5:从键盘输入5个整数存入一维数组中,再按反序输出(要求用指针访问数组元素).
ps:还有几个比较严重的BUG。。。等会儿再研究去讲座了。。。
通过输入两个加数,给学生出一道加法运算题。如果输入答案正确,则显示“Y”;否则显示“N”。
要求:程序循环执行n次,用函数实现判断对错和输出结果
输入输出示例:(括号内部分是对输入输出的解释,不要出现在程序中)
示例一:
1,2(输入)
1+2=4(1+2=由程序输出,4由键盘输入)
N. (由程序输出)
示例二:
1,2(输入)
1+2=3(1+2=由程序输出,3由键盘输入)
Y(由程序输出).
#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { double a,b,c; scanf_s("%lf,%lf",&a,&b); printf("%0.0f+%0.0f=",a,b); scanf_s("%lf",&c); if(c==a+b){printf("Y");} else{printf("N");} return 0; }
-----------------------分割线-----------------------
作业2:
统计和分析某班学生考试成绩,实现如下学生成绩管理功能:
(1)录入每个学生的学号和考试成绩;
(2)计算课程的平均分;
(3)按成绩由高到低排出名次表;
(4)按学号查询学生排名及其考试成绩;
(5)按优秀(90~100)、不及格(0~59)2个类别,统计每个类别的人数及其所占的百分比;
要求:最多不超过40人(具体人数由键盘输入)参加某门课程的考试,用一维数组作函数参数编程
输入输出示例:
#include "stdafx.h" void main() { int x; int a[40][2]; double ave; int sum=0; printf("请输入学生数量:\n"); scanf_s("%d",&x); printf("请输入学号和分数:\n"); for(int i=0;i<x;i++) { scanf_s("%d,%d",&a[i][0],&a[i][1]); } for(int i=0;i<x;i++) { sum = sum + a[i][1]; } ave=sum/x; printf("平均分是:%0.0f\n",ave); printf("成绩名次表:\n"); int t,p; for(int i=0;i<x;i++) { for(int j=0;j<x-i;j++) { if(a[j+1][1]>a[j][1]) { t=a[j+1][1]; p=a[j+1][0]; a[j+1][1]=a[j][1]; a[j+1][0]=a[j][0]; a[j][1]=t; a[j][0]=p; } } } for(int i=0;i<x;i++) { printf("%d, %d\n",a[i][0],a[i][1]); } printf("请输入您想查询的学生学号:"); int z,r; scanf_s("%d",&z); for(int i=0;i<x;i++) { if(a[i][0]==z) { r=i; } } if(r!=NULL) { printf("学号 %d 名次 %d 其考试成绩 %d\n",z,r+1,a[r][1]); } else { printf("查无此人!"); } printf("优秀 不及格\n"); int q=0,w=0,e,f; for(int i=0;i<x;i++) { if(a[i][1]>=90){q++;} if(a[i][1]<60){w++;} } e=100*q/x; f=100*w/x; printf("%d %d\n",q,w); printf("%d%%",e); printf(" %d%%\n",f); }
-----------------------分割线-----------------------
作业3:用指针(间接引用)求出两个数中的最大数.
#include "stdafx.h" void main() {int x,y,max,*p1,*p2; p1=&x; p2=&y; scanf_s("%d,%d",p1,p2); if(*p1>*p2) { max=*p1; }else { max=*p2; } printf("max=%d\n",max); }
-----------------------分割线-----------------------
作业4:编写交换两个变量值的函数,并交换主函数中两个变量的值(不能使用全局变量传递数据).
#include "stdafx.h" int main(){ int a=0,b=0,*x,*y; int temp; scanf_s("%d,%d",&a,&b); x=&a; y=&b; temp = *x ; *x = *y ; *y = temp ; printf("%d,%d",a,b); return 0; }
-----------------------分割线-----------------------
作业5:从键盘输入5个整数存入一维数组中,再按反序输出(要求用指针访问数组元素).
#include "stdafx.h" void fanxu(int *x, int n) { int t,*p,*i,*j,m=(n-1)/2; i=x; j=x+n-1; p=x+m; for(;i<=p;i++,j--) { t=*i; *i=*j; *j=t; } } void main() { int i,a[5]; for(i=0;i<5;i++) { scanf_s("%d",&a[i]); } fanxu(a,5); for(i=0;i<5;i++) printf("%d,",a[i]); printf("\n"); }-----------------------END-----------------------
ps:还有几个比较严重的BUG。。。等会儿再研究去讲座了。。。
相关文章推荐
- C程序设计课程-2012电子信息 第十二堂课后作业
- C程序设计课程-2012电子信息 第十二堂课后作业
- 2012电子信息 第五堂课后作业
- C程序设计课程-2012电子信息 第十一堂课后作业
- 2012电子信息 第十三堂课后作业
- C程序设计课程-2012电子信息 第六堂课后作业
- 2012电子信息 第6堂课后作业
- C程序设计课程-2012电子信息 第六堂课后作业
- C程序设计课程-2012电子信息 第四堂课后作业
- C程序设计课程-2012电子信息 第四堂课后作业
- C程序设计课程-2012电子信息 第四堂课后作业
- 2012电子信息 第十一堂课后作业
- C程序设计课程-2012电子信息 第三堂课后作业
- C程序设计课程-2012电子信息 第三堂课后作业
- C程序设计课程-2012电子信息 第一堂课后作业
- C程序设计课程-2012电子信息 第一堂课后作业
- C程序设计课程-2012电子信息 第十三堂课后作业
- C程序设计课程-2012电子信息 第二堂课后作业
- C程序设计课程-2012电子信息 第五堂课后作业
- C程序设计课程-2012电子信息 第六堂课后作业