2018上C语言程序设计(高级)作业-第2次作业
一、
6-7 删除字符串中数字字符
1)实验代码
void delnum(char *s) { int i,j; for(i=0,j=0;s[i]!='\0';i++) { if(s[i]<'0'||s[i]>'9') { s[j]=s[i]; j++; } } s[j]='\0'; }
2)流程图
3)错误及解决方案
无
6-8 统计子串在母串出现的次数
1)实验代码
int fun(char *str,char *substr) { int i,n=0; for(i=0;str[i]!='\0';i++) { if(str[i]==substr[0]) { if(str[i+1]==substr[1]) { if(str[i+2]==substr[2]) { n++; } } } } return n; }
2)流程图
3)错误及解决方案
无
6-9 字符串中除首尾字符外的其余字符按降序排列
1)实验代码
int fun(char *s,int num) { int i,j,swap; for(i=1;i<num-1;i++) for(j=1;j<num-1-i;j++) { if(s[j]<s[j+1]) { swap=s[j];s[j]=s[j+1];s[j+1]=swap; } } }
2)流程图
3)错误及解决方案
7-1 计算职工工资
1)实验代码
#include<stdio.h> struct message { char name[10]; float jibengz; float fudonggz; float zhichu; float sum; }; int main() { int n; scanf("%d",&n); struct message m1; while(n--) { scanf("%s%f%f%f",m1.name ,&m1.jibengz,&m1.fudonggz,&m1.zhichu); m1.sum=m1.jibengz+m1.fudonggz-m1.zhichu; printf("%s %.2f\n",m1.name ,m1.sum); } }
2)流程图
3)问题及解决方案
7-2 计算平均成绩
1)实验代码
#include<stdio.h> struct student { char id[6]; char name[10]; int score; }; int main() { int n; int i; float avg=0; struct student s[10]; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s%s%d",s[i].id,s[i].name,&s[i].score); avg=avg+s[i].score; } avg=avg/n; printf("%.2f\n",avg); for(i=0;i<n;i++) { if(s[i].score<avg) { printf("%s %s\n",s[i].name,s[i].id); } } }
2)流程图
3)错误及解决方案
无
6-1 按等级统计学生成绩
1)实验代码
int set_grade( struct student *p, int n ) { int count=0,i=0; for(i=0;i<n;i++) { if(((p+i)->score)>=85) { (p+i)->grade = 'A'; } else if(((p+i)->score)>=70) { (p+i)->grade = 'B'; } else if(((p+i)->score)>=60) { (p+i)->grade = 'C'; } else{ (p+i)->grade = 'D'; count ++; } } return count; }
2)流程图
3)错误及解决方案
无
6-2 结构体数组按总分排序
1)实验代码
void calc(struct student *p,int n) { int i; for(i=0;i<n;i++) { p[i].sum=p[i].score[0]+p[i].score[1]+p[i].score[2]; } } void sort(struct student *p,int n) { int i,j; struct student x; for(j=0;j<n-1;j++) { for(i=0;i<n-1-j;i++) { if(p[i].sum<p[i+1].sum) { x=p[i];p[i]=p[i+1];p[i+1]=x; } } } }
2)流程图
3)错误及解决方案
二、学习总结
学了指针、结构等
三、表格
时间 | 博客 | 代码 |
3.25 | 第一次作业 | 5 |
3.29 | 0 | 0 |
3.30 | 0 | 0 |
3.31 | 0 | 0 |
4.1 | 0 | 0 |
4.2 | 0 | 0 |
4.3 | 0 | 0 |
4.4 | 0 | 0 |
4.5 | 0 | 0 |
4.6 | 0 | 0 |
4.6 | 0 | 0 |
4.7 | 0 | 0 |
4.8 | 第二次作业 | 7 |
四、点评
姜健
秦保岩
袁中