一
【问题描述】
编写如下原型的函数:
void split(double x,intiPart,doublefPart);
提取出数据x的整数部分与小数部分,分别放于iPart与fPart处,由于形参iPart与fPart都是指针,从而可实现将这两个结果“带回”到主函数中。
在主函数中
输入一个数
输出它的整数部分和小数部分,用空格隔开。
提示:一个double类型数,强制类型转换后就是int,也就是整数部分,差为小数部分。这两个值用指针iPart和指针fPart带回(通过修改指针的目标变量值。)
【输入形式】一个数
【输出形式】整数部分 小数部分,用空格隔开
【样例输入】12.3
【样例输出】12 0.3
#include<iostream> using namespace std; void split(double x, int* ipart, double* fpart) { *ipart = (int)x; *fpart = x - int(x); } int main() { double x; cin >> x; int i; double f; split(x, &i, &f); cout << i << ' ' << f; return 0; }
二
【问题描述】
编制具有如下原型的函数findLast:
charfindLast(charsourceStr,char*subStr);
findLast函数则要返回源串sourceStr中最后一次出现subStr子字符串的头字符位置。
而后编制主函数,输入两个字符串,将它们用作实参来调用这两个函数,如果返回NULL输出-1,否则输出子字符串出现时头字符在原字符串的下标,每个结果占一行。
要求实现程序中不可使用“string.h”头文件内有关寻找子串的标准库函数。
【输入形式】输入源串sourceStr,子字符串subStr。
【输出形式】子字符串subStr最后一次在源串sourceStr中出现的位置
【样例输入】
welcometochinauniversityofminingandtechnology
in
【样例输出】29
#include<iostream> using namespace std; char *find(char*source,char*sub) { char *temp=NULL; char *s1,*s2; for(int i=0;source[i]!='