题目6-1 计算两数的和与差##

1.设计思路

(1)主要描述题目算法

第一步:看主函数知道程序输入浮点型变量a,b,通过函数计算输出和与差。

第二步:函数部分将a赋值op1,b赋值op2,&sum赋值到指针变量psum,&diff赋值到指针变量pdiff。

第三步:在函数内写出计算过程。

(2)流程图

主函数:

调用函数:



2.实验代码

void sum_diff( float op1, float op2, float *psum, float *pdiff )
{
*psum=op1+op2;
*pdiff=op1-op2;
}

3.本题调试过程碰到问题及解决办法

题目6-2 拆分实数的整数与小数部分##

1.设计思路

(1)主要描述题目算法

第一步:主函数定义浮点型变量x, fracpart;整形变量intpart。输入x并通过调用函数splitfloat计算,之后输出结果。

第二步:x赋值给x,&intpart赋值给intpart, &fracpart赋值给fracpart。

第三步:将x强制转化为整型,用实数部分减去整数部分得到小数部分。

(2)流程图

主函数:

调用函数:

2.实验代码

void splitfloat( float x, int *intpart, float *fracpart )
{
*intpart=(int)x;
*fracpart=x-(int)x;
}

3.本题调试过程碰到问题及解决办法

题目6-1 在数组中查找指定元素##

1.设计思路

(1)主要描述题目算法

第一步:主函数定义整型变量i, index, n, x,a[10],输入n,for循环输入数组元素,输入待查元素x,通过函数search得到index值,若index不为-1,则输出index

的值,否则输出Not found;

第二步:定义指针变量p,整型变量i;p指向list[i];

第三步:通过for循环以及if判断语句观察数组中是否有x的值,若得到则将i返回,否则返回-1。

(2)流程图

主函数:

调用函数:

2.实验代码

int search( int list[], int n, int x )
{
int *p,i;
p=&list[i];
for(i=0;i<n;i++)
{
if(*p++==x)
return i;
}
return -1;
}

3.本题调试过程碰到问题及解决办法

使用指针变量时,在循环内应用*p++表示数组元素。

题目6-2 找最大值及其下标##

1.设计思路

(1)主要描述题目算法

第一步:定义N为10.主函数定义整型变量a[N],i,max,p=0;for循环输入数组元素,经过函数fun(a,&p,N)调用,得到最大值max及下标p的值;输出。

第二步:fun(a,&p,N)中的变量赋值给int fun(int a,int b,int n)中的变量;

第三步:先将首元素赋给max作为最大值,然后通过for循环一次比较,将最大的留下,并将下标赋给b。

(2)流程图

主函数:

调用函数:

2.实验代码

int fun(int *a,int *b,int n)
{
int i;
int max=*a;
for(i=1;i<N;i++)
{
if(*(a+i)>*a)
{
*b=i;
max=*(a+i);
}
}
return max;
}

3.本题调试过程碰到问题及解决办法

6-1 最小数放前最大数放后##

1.设计思路

(1)主要描述题目算法

第一步:本题主要是通过调用三个函数之后得到并输出结果。第一个和第三个函数运用for循环输入和输出。

第二步:第二个函数最主要。分为两部分,先用for循环将所有元素中的最大值和最小值找出,然后将最大值与第一个数交换,最小值与最后一个数交换即可。、

(2)流程图

主函数:

调用函数:

①input(int *arr,int n)

②max_min(int *arr,int n)

③output(int *arr,int n)



2.实验代码

void input(int *arr,int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%d",arr+i);
}
}
void max_min(int *arr,int n)
{
int i,max,min,t,p;
max=min=*arr;
for(i=0;i<n;i++)
{
if(max<*(arr+i))
{
max=*(arr+i);
t=i;
}
if(min>*(arr+i))
{
min=*(arr+i);
p=i;
}
}
int j;
j=*(arr+t);
*(arr+t)=*(arr+n-1);
*(arr+n-1)=j;
int k;
k=*(arr+p);
*(arr+p)=*arr;
*arr=k;
}
void output(int *arr,int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%3d",*(arr+i));
}
}

3.本题调试过程碰到问题及解决办法

题目6-2 指针选择法排序##

1.设计思路

(1)主要描述题目算法

第一步:本题要调用一个选择排序法的函数,需要用到双循环结构。

第二步:调用函数第一层循环为趟数,第二层为比较大小,一次比较找出最值放到最前面。

(2)流程图

主函数:

调用函数:



2.实验代码

void sort(int *x,int n)
{
int i,j,t;
for(i=1;i<=n-1;i++)
{
for(j=0;j<=n-i-1;j++)
{
if(x[j]<x[j+1])
{
t=x[j];
x[j]=x[j+1];
x[j+1]=t;
}
}
}
}

3.本题调试过程碰到问题及解决办法

大括号较多导致后面缺少一个作结尾,编译错误。

仔细检查后发现错误并改正。

6-1 判断回文字符串##

1.设计思路

(1)主要描述题目算法

第一步:观察主函数,将数组元素输入之后通过调用palindrome判断字符串是否为回文字符串。最后输出。

第二步:通过strlen函数读取该数组的长度。

第三步:比较字符串中对称位置的字符是否相等,若有不相等的则返回值为false,若没有返回false,则palindrome函数返回值为true。

(2)流程图

主函数:

调用函数:

2.实验代码

bool palindrome( char *s )
{
int i;
int n = strlen(s);
for(i=0;i<=n/2;i++)
{
if(*(s+i)!=*(s+n-i-1))
return false;
}
return true;
}

3.本题调试过程碰到问题及解决办法

6-2 使用函数实现字符串部分复制##

1.设计思路

(1)主要描述题目算法

第一步:主函数定义字符串t[MAXN], s[MAXN](MAXN=20),变量m。

第二步:引用函数strmcpy( char t, int m, char s )来实现字符串部分复制。输出。

(2)流程图

主函数:

调用函数:

2.实验代码

void strmcpy( char *t, int m, char *s )
{
int i;
for(i=m;*(t+i-1)!='\0';i++)
{
*(s+i-m)=*(t+i-1);
}
*(s+i-m)='\0';
}

3.本题调试过程碰到问题及解决办法

本题函数部分不知道怎么实现,通过同学讲解帮助完成。

附加题##

实验代码

#include<stdio.h>
int main()
{
char c;
while((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
c=c+2;
if(c>'Z'&&c<='Z'+2||c>'z')
c=c-26;
}
printf("%c",c);
}
printf("\n");
return 0;
}

学习总结和进度##

1、总结两周里所学的知识点有哪些学会了?哪些还没有学会?

学会了指针在程序中的运用。了解到指针变量与之前所学的一些变量之间的运用。

还学到了统计字符串长度的方法(运用strlen函数)。

还没学到的或者说希望学到的是对指针变量更熟练地运用,目前还很生疏,应多多练习。

2、git地址: https://git.coding.net/ZJY15/ZJY15.git

上传:



3、点评:

王姝雯 http://www.cnblogs.com/phsudie/p/8590614.html

丰大为 http://www.cnblogs.com/DavidPark/p/8551402.html

董雅洁 http://www.cnblogs.com/exo123/p/8575595.html

4、请用表格和折线图呈现你本周(3/12 8:00~3/26 8:00)的代码行数和所用时间、博客字数和所用时间

C语言-第一次作业的更多相关文章

  1. c语言第一次作业1

    第一次作业 一 你对软件工程或者计算机科学与技术专业的了解是什么? 软件工程是一门研究用工程化方法构建和维护有效的,实用的和高质量的软件的学科,涉及程序语言设计,数据库,软件开发工具,系统平台,设计模 ...

  2. 网络1712--c语言第一次作业总结

    1.作业亮点 1.1大家均能较为独立自主地完成第一次c语言作业,无明显抄袭现象 1.2 以下几位同学博文写的较为优秀,可作为范例供大家参考 田亚琴--态度端正,及时回复评论并及时完善修改博文 戴洁-- ...

  3. c语言------第一次作业,分支,顺序结构

    1.1思维导图 1.2本章学习体会及代码量学习体 1.2.1学习体会 初次接触C语言,由于比较懒惰,感觉学习脚步跟不上身边的同学,也比较困扰.但伴随着pta上多次显示的##编译错误##,坚持不懈地问舍 ...

  4. 网络1711班 C语言第一次作业批改总结

    Testing 总结 1 本次作业评分规则 1.1 基本要求(1分) 按时交 - 有分 未交 - 0分 迟交一周以上 - 倒扣本次作业分数 抄袭 - 0分 博客作业格式不规范,没有用Markdown语 ...

  5. c语言第一次作业——输入与输出格式

    一.PTA实验作业 1.温度转换 本题要求编写程序,计算华氏温度150°F对应的摄氏温度.计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型. 1.实验代码 ...

  6. C语言——第一次作业

    **学习内容总结** 本周进行了算法的初步学习,用计算机的思维方式去思考问题,并学习了如何用传统程序框图表示算法. 相关内容: 1.算法是用来解决问题的方法与步骤. 2.计算机擅长重复,常用枚举的方法 ...

  7. c语言第一次作业--分支 顺序结构

    1.1思维导图 1.2.1本周学习体会以及代码量学习体会 1.2.2学习体会 因为在假期时只看了小部分的学习视频,也没有刷题量,导致了在开始就感觉到差同学的进程很多.刚开始觉得老师讲课很快,在恶补了很 ...

  8. c语言第一次作业--顺序、分支结构

    1.1思维导图 1.2.1本周学习体会以及代码量学习体会 1.2.2学习体会     因为在暑假时候没有对c语言进行学习,没太关注一些学习资料,一些教学视频也没看,感觉对c语言是陌生的,刚开课的时候自 ...

  9. C语言第一次作业

  10. C语言第一次作业——输入输出格式

    题目1温度转换 本题要求编写程序,计算华氏温度150°F对应的摄氏温度.计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型. 1.实验代码 #include& ...

随机推荐

  1. Inception模型和Residual模型卷积操作的keras实现

    Inception模型和Residual残差模型是卷积神经网络中对卷积升级的两个操作. 一.  Inception模型(by google) 这个模型的trick是将大卷积核变成小卷积核,将多个卷积核 ...

  2. VS2010编译VS2008工程时,LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

    1.问题 电脑上同时安装了VS2008,VS2010,使用VS2010编译VS2008建立的工程,或者,VS2010创建新的工程.编译时,出现以下链接错误: LINK : fatal error LN ...

  3. 简单使用Mysql-Cluster-7.5搭建数据库集群

    阅读目录 前言 mysql cluster中的几个概念解释 架构图及说明 下载mysql cluster 安装mysql cluster之前 安装配置管理节点 安装配置数据和mysql节点 测试 启动 ...

  4. C# 图解教程 第二章 C#编程概述

    C#编程概述 一个简单的C#程序标识符关键字Main:程序的起始点从程序输出文本注释 C#编程概述 一个简单的C#程序 标识符 标识符是一种字符串,用来命名变量.方法.参数和许多后面将要阐述的其他程序 ...

  5. Android中selector的使用

    第一种方法(强烈推荐) 方法:selector做遮罩,原图做background. 我们做按钮的时候经常需要用两个图片来实现按钮点击和普通状态的样式,这就需要提供两种图片,而且每个分辨率下还有多套图片 ...

  6. 描述Spring Web MVC的工作流程

    Spring Web MVC的共工作流程如下: 1.浏览器发出Spring mvc请求,请求给前端控制器 DispatcherServlet处理. 2.控制器通过HandlerMapping维护的请求 ...

  7. webpacke踩坑-新手

    1.题叶-webpack入门指南 2.webpack入门系列 3.w3ctech的webpack入门及实践 4.Express结合Webpack的全栈自动刷新 5.webpack 单页面应用实战 6. ...

  8. 【BZOJ2333】棘手的操作(左偏树,STL)

    [BZOJ2333]棘手的操作(左偏树,STL) 题面 BZOJ上看把... 题解 正如这题的题号 我只能\(2333\) 神TM棘手的题目... 前面的单点/联通块操作 很显然是一个左偏树+标记 ( ...

  9. 论文笔记(5):Fully Convolutional Multi-Class Multiple Instance Learning

    这篇论文主要介绍了如何使用图片级标注对像素级分割任务进行训练.想法很简单却达到了比较好的效果.文中所提到的loss比较有启发性. 大体思路: 首先同FCN一样,这个网络只有8层(5层VGG,3层全卷积 ...

  10. 求数组中最小的k个数

    题目:输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. package test; import java.util.Arra ...