第十二堂课后作业
2013-05-30 23:48
302 查看
作业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个整数存入一维数组中,再按反序输出(要求用指针访问数组元素).
-----------------------END-----------------------
通过输入两个加数,给学生出一道加法运算题。如果输入答案正确,则显示“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 s(int a,int b,int c) { if(a+b==c) printf("Y\n"); else printf("N\n"); } void main() { while(1) { int x,y,z; printf("请输入两个数字:\n"); scanf("%d%d",&x,&y); printf("%d+%d=",x,y); scanf("%d",&z); s(x,y,z); } }
-----------------------分割线-----------------------
作业2:
统计和分析某班学生考试成绩,实现如下学生成绩管理功能:
(1)录入每个学生的学号和考试成绩;
(2)计算课程的平均分;
(3)按成绩由高到低排出名次表;
(4)按学号查询学生排名及其考试成绩;
(5)按优秀(90~100)、不及格(0~59)2个类别,统计每个类别的人数及其所占的百分比;
要求:最多不超过40人(具体人数由键盘输入)参加某门课程的考试,用一维数组作函数参数编程
#include<stdio.h> #define n 40 void main() { int xh ,cj ,a,sum=0,i,temp1,temp2; float m=0.0,q=0.0; float t; printf("请输入学生的数目:\n"); scanf_s("%d",&a); printf("请输入学生的学号和成绩:\n"); for( i=0;i<a;i++) { scanf_s("%d,%d",&xh[i],&cj[i]); } for(i=0;i<a;i++) sum=sum+cj[i]; t=(float)sum/a; printf("平均分:%f\n",t); printf("成绩排名表\n"); for(i=0;i<a-1;i++) for(int j=0;j<a-i-1;j++) { if(cj[j]<cj[j+1]) { temp1=cj[j]; cj[j]=cj[j+1]; cj[j+1]=temp1; temp2=xh[j]; xh[j]=xh[j+1]; xh[j+1]=temp2; } } for(i=0;i<a;i++) { printf("%d,%d\n",xh[i],cj[i]); } printf("请输入你想查询的学生学号:\n"); int x; scanf_s("%d",&x); for(i=0;i<a;i++) { if(xh[i]==x) printf("学号%d,名次%d,成绩%d\n",xh[i],(i+1),cj[i]); if(i==n) printf("没有找到信息"); } for(i=0;i<a;i++) { if(cj[i]>=90) m++; else if(cj[i]<60) q++; } printf("优秀\t不合格\n"); printf("%.0f\t%.0f\n",m,q); printf("%.2f%%\t%.2f%%\n",(m/a)*100,(q/a)*100); }
输入输出示例:
-----------------------分割线-----------------------
作业3:用指针(间接引用)求出两个数中的最大数.
#include<stdio.h> void main() { int a,b; int *p1,*p2,*p; scanf("%d,%d",&a,&b); p1=&a;p2=&b; if(a<b) {p=p1; p1=p2; p2=p;} printf("较大数=%d\n",*p1); }
-----------------------分割线-----------------------
作业4:编写交换两个变量值的函数,并交换主函数中两个变量的值(不能使用全局变量传递数据).
#include<stdio.h> void s(int *m,int *n) { int temp; temp=*m; *m=*n; *n=temp; } void main() { int a=78,b=96; printf("a=%d,b=%d\n",a,b); s(&a,&b); printf("a=%d,b=%d\n",a,b); }
-----------------------分割线-----------------------
作业5:从键盘输入5个整数存入一维数组中,再按反序输出(要求用指针访问数组元素).
#include<stdio.h> #define l 5 void inver_data(int[],int); void print_data(int[],int); void main() { int data[l],i; printf("从键盘输入5个原始数据\n"); for(i=0;i<l;i++) { scanf("%d",&data[i]); } printf("原始数据\n"); print_data(data,l); inver_data(data,l); printf("调换后的数据"); print_data(data,l); } void print_data(int s[],int n) { int i; for(i=0;i<n;i++) printf("%4d",s[i]); printf("\n"); } void inver_data(int s[],int n) { int i,j,temp; for(i=0,j=n-1;i<j;i++,j--) { temp=s[i]; s[i]=s[j]; s[j]=temp; } }
-----------------------END-----------------------
相关文章推荐
- 第十二堂课后作业
- C程序设计课程-2012电子信息 第十二堂课后作业
- C程序设计课程-2012电子信息 第十二堂课后作业
- 第十二堂课后作业
- 第十二堂课后作业
- 第十二堂课后作业
- 第十二堂课后作业
- 第十二堂课后作业
- 第十二堂课后作业
- 第十二堂课后作业
- 第十二堂课后作业
- 2012电子信息 第十二堂课后作业
- 吴恩达 深度学习 1-3 课后作业 Planar data classification with one hidden layer
- 课后作业03--输出乘法表及判断范围内能被7整除的数
- 课后作业02
- 课后作业01——相加
- Java课后作业
- C程序设计课程-2012电子信息 第二堂课后作业
- C语言设计课程-第三堂课后作业
- HTML 4章 课后作业4