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)实验代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 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)实验代码
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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)实验代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #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)实验代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #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)实验代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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)实验代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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 |
四、点评
姜健
秦保岩
袁中
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术