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及Pygame的安装及运行
Python: 注意勾上Add Python 2.7 to PATH,然后点“Install Now”即可完成安装. 或手动修改环境变量,win7:右击我的电脑->属性->高级->环 ...
- Spring工作原理及应用
spring原理 内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建.调用对象,Spring就是在运行时 ...
- 各种sqlite管理工具
sqlite管理工具 平台 下载链接 sqlitestudio 支持多平台 https://sqlitestudio.pl/index.rvt?act=download sqlitespy windo ...
- 简单gitblit与Jenkins结合,持续集成
gitblit是当作git服务器,也就是作为私有的代码仓库,用法类似于Github Jenkins 是自动构建工具,帮忙将仓库中的代码更新到服务器上.可以设置为定时自动构建. 详细摸索了我现在公司的用 ...
- makefile笔记1 - 初识makefile
前情提要 上一篇<编译入门>讲了变成的基本问题.如果源文件只有一个,就如之前的例子,那么用gcc命令直接编译就可以了.但是很多实际的工程用到的源文件都是相当多的,这时候用命令一个个编译是很 ...
- 微信小程序scroll-view滚动一次多次触发的问题解决方案
最近使用微信小程序开发的时候,需要用scroll-view的bindscrolltolower事件,控制加载下一页的内容.但是发现在ios里,下拉滚动一次,事件触发两次,导致重复加载数据. 经过百度和 ...
- 使用RevoUninstaller Pro卸载
使用RevoUninstaller Pro卸载opera浏览器,操作过的注册表 HKEY_CURRENT_USER\SOFTWARE\CLASSES\Local Settings\Mircrosoft ...
- scrapy框架修改单个爬虫的配置,包括下载延时,下载超时设置
在一个框架里面有多个爬虫时,每个爬虫的需求不相同,例如,延时的时间,所以可以在这里配置一下custom_settings = {},大括号里面写需要修改的配置,然后就能把settings里面的配置给覆 ...
- html页面原生video标签隐藏下载按钮
在写web项目的时候,遇到简介页面有一个单独的简介视频,只有这一个短短的视频所以没有使用任何video组件,所以运用原生video标签就想解决问题. 虽然简介视频是非付费的,但也不希望会有下载按钮或者 ...
- 显示react配置
1. 由于react默认隐藏webpack配置需要手动显示. npm run eject //Are you sure you want to eject? This action is perman ...