PTA8
| 这个作业属于哪个课程 | C语言程序设计2 |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/3074 |
| 我的课程目标 | 运用指针和字符函 |
| 这个作业在哪个具体方面帮助我实现目标 | 运用指针和字符函数解决问题 |
| 参考文献 | C语言程序设计 P200-210 |
第一题
6-1 函数实现字符串逆序
代码
void f( char *p )
{
int i,q,h,t;
q=0;
while(p[i]!='\0')
i++;
h=i-1;
while(q<=h)
{
t=p[q];
p[q]=p[h];
p[h]=t;
q++;
h--;
}
return 0;
}
思路


问题
无
第二题
6-3 字符串的连接 (15 分)
代码
char *str_cat( char *s, char *t )
{
strcat(s,t);
return s;
}
思路


第三题
7-1 输出学生成绩 (20 分)
代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,i,*p;
double sum=0,max,min;
scanf("%d",&n);
if((p=(int*)malloc(sizeof(int)))==NULL){
printf("Not able to allocate memory.\n");
exit(1);
}
for(i=0;i<n;i++)
scanf("%d",p+i);
max=*p;
min=*p;
for(i=0;i<n;i++){
if(max<*(p+i))
max=*(p+i);
if(min>*(p+i))
min=*(p+i);
sum+=*(p+i);
}
printf("average = %.2f\n",sum/n);
printf("max = %.2f\n",max);
printf("min = %.2f\n",min);
free(p);
return 0;
}
思路



问题
我原来想直接用静态写的,但怎么都不对;
讨论了一下法先用动态就对了;
第四题
7-4 字符串排序
代码
#include<stdio.h>
#include<string.h>
int main(){
int i,j;
char s[5][666],a[666];
for(i=0;i<5;i++)
scanf("%s",s[i]);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(strcmp(s[j],s[j+1])>0){
strcpy(a,s[j]);
strcpy(s[j],s[j+1]);
strcpy(s[j+1],a);
}
printf("After sorted:\n");
for(i=0;i<5;i++)
printf("%s\n",s[i]);
return 0;
}
思路



问题
无;
开始是开辟的空间小了;
第五题
7-3 计算平均成绩 (15 分)
代码
#include<stdio.h>
#include<string.h>
struct student
{
char id[6];
char name[11];
float score;
};
int main()
{
struct student a[10];
int i, N;
float sum = 0, average;
scanf("%d\n", &N);
for (i = 0; i < N; i++)
{
scanf("%s%s%f", &a[i].id, &a[i].name, &a[i].score);
sum += a[i].score;
}
average = sum / N;
printf("%.2f\n", average);
for (i = 0; i<N; i++)
{
if (a[i].score < average)
printf("%s %s\n", a[i].name, a[i].id);
}
return 0;
}
思路


问题
不会用动态写此题
| 周/日期 | 这周所花时间 | 代码行数 | 学到知识点 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 4/15-4/19 | 2day | 92 | 指针和字符函数 | 动态和静态的运用 |
5学习感悟
这次的作业不是很难,通过看书和百度能学到更多的东西

六、结对编程感想
两个臭皮匠赛过诸葛亮
PTA8的更多相关文章
- 智能车学习(十五)——K60野火2013版例程
一.中断函数注册方法: 1.格式: 配置某个功能的中断 注册中断函数 开启中断 2.一个例子 pit_init_ms(PIT0,);//定时中断初始化 set_vector_handler(PIT0_ ...
- 智能车学习(十四)——K60单片机GPIO学习
一.头文件: #ifndef __MK60_GPIO_H__ #define __MK60_GPIO_H__ #include "MK60_gpio_cfg.h" /* * 定义管 ...
- HTML canvas 笑脸
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- k60引脚图
/*! 枚举管脚编号 */ typedef enum { /* PTA端口 */ //0~31 PTA0, PTA1, PTA2, PTA3, PTA4, PTA5, PTA6, PTA7, PTA8 ...
- 201621123062《java程序设计》第二周学习总结
1.本周学习总结 本周学习重点: 1.java的基本数据类型(类似于C,特有boolean),java的引用类型(类似指针),其他常用类. 2.字符串类型String(比c简单),String的不变性 ...
- Week02-Java基本语法与类库
1. 本周学习总结 本周主要学习了包装类,明白了包装类比基本数据类型的优点(见书面作业4.2),了解了自动装箱,自动拆箱的概念和区别(见书面作业4.1),知道了java中的引用类似C语言中的指针,明白 ...
- 201621123050 《Java程序设计》第2周学习总结
1.本周学习总结 java的数据类型 基本数据类型:介绍了java特有的boolean 引用数据类型 String:不变性:需要频繁修改时使用StringBuilder 包装类:自动拆.装箱 数组 一 ...
- 201621123040《Java程序设计》第2周学习总结
1.本周学习总结 关键词:Java中的字符串与数组 c语言基本语法的迁移 相关总结:在一周的学习过程中,我自主学习Java的基本语法,前期的相关语法与c语言的基本语法相近,也算是做到了很好的回顾:在郑 ...
- 201621123060《JAVA程序设计》第二周学习总结
1.本周学习总结 本周学习了JAVA中的引用类.包装类(学习了一种语法:自动装箱)和数组(遍历数组的新方法foreach循环). 2. 书面作业 1.String-使用Eclipse关联jdk源代码 ...
随机推荐
- 详解Python的作用域和命名空间
最近在学习Python,不得不说,Python真的是一门很好用的语言.但是学习的过程中关于变量作用域(scope)的命名空间(namespace)的问题真的把我给搞懵了.在查阅了相关资料之后,觉得自己 ...
- 举例跟踪linux内核系统调用
学号351+ 原创作品转载请注明出处 + 中科大孟宁老师的linux操作系统分析: https://github.com/mengning/linuxkernel/ 实验要求: 编译内核5.0 qem ...
- tpot ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
机器学习训练的时候报出这个问题 是因为dataframe中的数据类型有一个是‘object’,把它转成int,或float 就行,如下 df['A'] = df['A‘].astype(int) 参考 ...
- python os.walk()遍历文件夹
转自 http://alanland.iteye.com/blog/612459 via @alanland 今天第一次进行 文件遍历,自己递归写的时候还调试了好久,(主要因为分隔符号的问题),后来发 ...
- mybatis支持jdk8等localdate类型
大家知道,在实体Entity里面,可以使用java.sql.Date.java.sql.Timestamp.java.util.Date来映射到数据库的date.timestamp.datetime等 ...
- SQL-53 按照dept_no进行汇总,属于同一个部门的emp_no按照逗号进行连接,结果给出dept_no以及连接出的结果employees
题目描述 按照dept_no进行汇总,属于同一个部门的emp_no按照逗号进行连接,结果给出dept_no以及连接出的结果employeesCREATE TABLE `dept_emp` (`emp_ ...
- find命令配合sed命令使用
1.查找当前目录下所有以txt文件中包含123的数字都替换成5678 find ./ -name "*.txt" -exec grep "123" {} \; ...
- jmeter的几种参数化使用方法
场景:在进行jmeter的接口自动化测试脚本的编写中需要使用参数化,现将接触到的几种参数化方法整理如下: 第一种: 使用“用户自定义变量”的配置元件来进行变量定义 填入变量.值.和备注就可以在后续的接 ...
- python基础17_列表推导式 vs 生成器表达式
[ ] 列表推导式,是用简单的语法来生成列表, ( ) 生成器表达式,是用简单的语法创建个生成器. 外观上仅括号不一样. 虽然写起来方便,但是读起来稍显费力,另外,不易调试. # 列表推导式 prin ...
- 【转】用opencv使摄像头在30fps下捕获1080p的数据
原文:http://blog.sina.com.cn/s/blog_9b493e7b0102xvn6.html opencv可以捕获摄像头数据.如果要读高分辨率和高帧率,可以用如下的设置: captu ...