第一次作业
6-1 计算两数的和与差
本题要求实现一个计算输入的两数的和与差的简单函数
1,设计思路:
(1)主要描述题目算法
第一步:引用函数 void sum_diff( float op1, float op2, float *psum, float *pdiff )
第二步:将op1和op2的和赋值给pusm所指的变量sum,将op1和op2的差赋值给pdiff所指的变量diff
(2)程序图
(3)代码
6-2 拆分实数的整数与小数部分
本题要求实现一个拆分实数的整数与小数部分的简单函数。
1,设计思路:
(1)主要描述题目算法
第一步:引用函数 void splitfloat( float x, int *intpart, float *fracpart )
第二步:定义指针*intpart和*fracpart
第三步:*intpart是指整数部分所以*intpart=x/1
第四步:*fracpart是指小数部分所以*fracpart=x-*intpart
(2)程序图
(3)代码
在数组中查找指定元素
本题要求实现一个在数组中查找指定元素的简单函数。
1,设计思路:
(1)主要描述题目算法
第一步:引用int search( int list[], int n, int x )
第二步:定义一个变量i,n,x,输入数组个数再输入几个数然后输入一个数在数组中查找,如果找到了就输出i并跳出这个循环,如果没找到就输出-1
(2)程序图
(3)代码
6-2 找最大值及其下标
在一维整型数组中找出其中最大的数及其下标。
1,设计思路:
(1)主要描述题目算法
第一步:引用int fun(int *a,int *b,int n)
第二步:把s[0]赋值给s,然后把数组中的每个数和s[0]比较,如果比s[0]大就把它赋值给s,依次比较然后找到最大值和下标
(2)程序图
(3)代码
int fun(int *a,int *b,int n)
{
int i;
int s=a[0];
for(i=1;i<n;i++)
{
if(s<a[i])
{
s=a[i];
*b=i;
}
}
return s;
}
6-1最小数放前最大数放后
1,设计思路:
(1)主要描述题目算法
第一步:将数据存放到input数组中
第二步:通过max_min遍历数组找到最大值和最小值,并按照题目要求进行交换
第三步:输出数据
(2)代码
6-2指针选择法排序
1,设计思路:
(1)主要描述题目算法
第一步:找到调用函数。
第二步:。比较前后两个元素的大小。
第三步:如果后一元素 j 大于前一元素 i ,则将j赋给k,如果k!=i,则将i于j互换。
(2)代码
6-1 判断回文字符串
1,设计思路:
(1)主要描述题目算法
第一步:引用bool palindrome( char *s )
第二步:使用for循环 ,用i,j来实现字符串的首尾,如果i>=j,则是回文,反之不是。
(2)程序图
(3)代码
bool palindrome( char *s )
{
int i,j,n=0;
while(s[n]!='\0') n++;
n--;
for(i=0,j=n;i<j;i++,j--)
if(s[i]!=s[j])break;
if(i>=j)return 1;
return 0;
}
6-2 使用函数实现字符串部分复制
1,设计思路:
(1)主要描述题目算法
第一步:明确题目是从字符串t中第m个字符开始后的全部字符复制到s中,引用void strmcpy( char *t, int m, char *s )
第二步:定义i,j,n,字符串复制然后开始循环
(2)流程图
(3)代码