- 博客(79)
- 收藏
- 关注
原创 建立一个对象数组,内放5个学生数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并从输出学号。
#includeclass Student{ public: Student(int n,int m) { num=n; score=m; } void display(); int score; int num; };void Student:: display(){ std::cout<<num<<" "<<score<<std::endl; }int
2016-09-30 13:56:33 19397
原创 建立一个对象数组,内放5个学生数据(学号、成绩),用指针指向数组首元素,输出学生的数据
#includeclass Student{ public: Student(int n,int m) { num=n; score=m; } void display(); private: int num; int score;};void Student:: display(){ std::cout<<num<<" "<<score<<std::endl
2016-09-30 11:32:18 22346
原创 构造函数使用默认参数后不能使用构造函数重载
#includeclass Date{ public: Date(int,int,int); Date(int,int); Date(int); Date(); void display(); private: int month; int day; int year;};Date::Date(int m,int d,int y):month(
2016-09-30 11:16:50 2315
原创 用对象找出10个整形数组中的最大元素。
#includeusing namespace std;class Array_max{ public: void set_value(); void max_value(); void show_value(); private: int array[10]; int max; };void Array_max::set_value(){ int i; for
2016-09-27 15:42:40 580
原创 字符串函数
字符串比大小。#includeint mylen(const char *s1,const char *s2);int main(){ char s1[]="abc"; char s2[]="Abc"; printf("%d\n",mylen(s1,s2)); } int mylen(const char *s1,const char *s2){ while((*s1==
2016-09-26 15:50:16 255
原创 引用传地址
#includeusing namespace std;int swap(int &a,int &b);int main(){ int i=3,j=5; swap(i,j); cout<<i<<" "<<j<<endl; return 0; }int swap(int &a,int &b){ int temp; temp=a; a=b; b=temp;}
2016-09-26 14:27:43 778
原创 传递变量的地址
形参是指针变量,实参是一个变量的地址,调用函数,形参得到实参变量的地址。#includeusing namespace std;int swap(int *a,int *b);int main(){ int i=3,j=5; swap(&i,&j); cout<<i<<" "<<j<<endl; return 0; }int swap(int *a,int *b){ i
2016-09-26 14:22:52 395
原创 引用作为函数参数
将变量名作为实参和形参。这时传递给形参的是变量的值,传递是单向的。如果执行函数期间形参的值发生变化,并不会传给实参。在调用函数时,形参和实参不是同一个存储单元。#includeusing namespace std;int swap(int a,int b);int main(){ int i=3,j=5; swap(i,j); cout<<i<<" "<<j<<endl;
2016-09-26 14:18:35 299
原创 指向指针的指针
#includeusing namespace std;int main(){ char **p; char *name[]={"BASIC","FORTRAN","C++","Pascal","COBOL"}; p=name+2; cout<<*p<<endl; cout<<**p<<endl;}
2016-09-26 11:31:34 201
原创 查找学生
一个班n个学生,需要把每个学生的简单材料输入计算机保存。然后可以通过某一学生的姓名查找有关材料。如果有,输出姓名和学号,如果无,输出本班无此人。#include#includeusing namespace std;int input_data();int search(string find_name);string name[50],num[50]; int n;int
2016-09-26 11:19:22 434
原创 有默认参数的函数
实参和形参结合是从左到右顺序结合的,第1个实参与第1个形参结合,第2个实参与第2个形参结合。因此默认参数的值必须放在形参列表中的最右端,否则出错。#includeusing namespace std;int max(int a,int b,int c=0);//c默认形参 int main(){ int a,b,c; cin>>a>>b>>c; cout<<"max(a,b,c
2016-09-26 10:54:17 321
原创 函数模板
函数模板的一般形式template适用于函数体相同、函数参数个数相同而类型不同。#includeusing namespace std;template T max(T a,T b,T c){ if(b>a)a=b; if(c>a)a=c; return a;}int main(){ int i1,i2,i3,i; cin>>i1>>i2>>i3; i=ma
2016-09-26 10:49:07 179
原创 函数的重载
函数的重载即对一个函数名重新赋予它新的含义,使一个函数名可以多用,即一物多用。求3个数中的最大数#includeusing namespace std;int max(int a,int b,int c);long max(long a,long b,long c);double max(double a,double b,double c);int main(){ int
2016-09-26 10:45:57 300
原创 内联函数,求三个数的最大值
#includeusing namespace std;inline int max(int,int,int);int main(){ int i=10,j=20,k=30,m; m=max(i,j,k); cout<<"max="<<m<<endl; return 0;}inline int max(int a,int b,int c){ if(b>a)a=b; if(
2016-09-26 10:37:22 3639
原创 输入3个字符串,要求字母按从小到大顺序输出
#include#includeusing namespace std;int main(){string string1,string2,string3,temp;cout<<"please input three strings:";cin>>string1>>string2>>string3;if(string2>string3){ temp=string2; strin
2016-09-26 10:27:40 6205
原创 已有 a、b 两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按成绩升序排列。
#include#include#define NULL 0#define LEN sizeof(struct student)struct student{ long num; float score; struct student *next;};int n,sum=0;struct student lista,listb;struct student *creat(v
2016-09-24 10:06:10 8891 2
原创 写一函数free,将上题用new函数占用的空间释放。Free(p)表示将p指向的单元以后的内存段释放
#include#define NEWSIZE 1000char newbuf[NEWSIZE];char *newp=newbuf;void free(char *p){ if(p>=newbuf&&p<newbuf+NEWSIZE) { newp=p; } }
2016-09-24 09:28:48 2786
原创 编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间。new(n)表示分配n个字节的内存空间。
new 函数的作用是分配n个连续字符的存储空间。为此,开辟一个足够大的连续空间。设置字符数组newbuf[1000],new在此范围内操作。指针变量newp开始指向存储区的首字节。每当开辟n个字符存储区,要先检查newbuf数组是否还有足够的空间。若有,则newp指向开辟区的末尾,并返回下次可用空间的开始的地址。若空间不够,返回NULL。#include#define NEWSIZE 10
2016-09-24 09:23:49 8060 2
原创 链表
#include#include#define NULL 0#define LEN sizeof(struct student)struct student{ long num; float score; struct student *next;};int n;struct student *creat(void)//链表的创建{ struct student *hea
2016-09-24 08:26:40 332
原创 计算分数精确值
题目内容:由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法。(0,1)之间的任何浮点数都可以表达为两个正整数的商,为了表达这样两个数的商,可以将相除的结果存放在一维数组中,数组的每个元素存放一位十进制数字。即商的第一位存放在第一个元素中,第二位存放在第二个元素中,以此类推,就可以用数组来表达一个高精度的除法结果了。如16/
2016-09-23 17:00:26 564
原创 枚举的用法
#includeenum COLOR{RED,YELLOW,GREEN,NumCOLORS};int main(){ int color=-1; char *ColorNames[NumCOLORS]={"red","yellow","green"}; char *colorName=NULL; printf("输入你喜欢的颜色的代码:"); scanf("%d",&color);
2016-09-23 14:50:56 227
原创 可变数组
头文件#ifndef _ARRAY_H_#define _ARRAY_H_typedef struct{ int *array; int size;} Array;Array array_create(int init_size);//创建数组void array_free(Array *a);//释放数组int arry_size(const Array *a);//数组
2016-09-22 21:32:07 475
原创 GPS数据处理
题目内容:NMEA-0183协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、PDA等设备。
2016-09-22 18:31:14 3916 1
原创 单词长度
题目内容:你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4。注意,行中可能出现连续的空格。输入格式:输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。输出格式:在一行中
2016-09-22 15:45:35 492
原创 c语言有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串
#include#includeint copy(char *p1,char *p2,int m);int main(){ char str1[40],str2[40]; printf("输入第一个字符串:\n"); gets(str1); int m; printf("输入第m个字符开始:\n"); scanf("%d",&m); if(strlen(str1)<m)
2016-09-22 15:04:49 35941 7
原创 写一个函数,求一个字符串的长度。
#includeint length(char *p);int main(){ char number[20]; gets(number); printf("%d",length(number)); return 0;}int length(char *p){ int digit=0; while(*p!='\0') { digit++; p++;
2016-09-22 10:16:49 21271 2
原创 用指针处理输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
#includeint input(int *number);int max_min_(int *number);int output(int *number);int main(){ int number[10]; input(number); max_min_(number); output(number); return 0;}int input(int *num
2016-09-22 09:54:13 20254 4
原创 输入3个字符串,按由小到大的顺序排列。
#include#includeint swap(char *,char *);int main(){ char str1[20],str2[31],str3[20]; gets(str1); gets(str2); gets(str3); if(strcmp(str1,str2)>0) swap(str1,str2); if(strcmp(str1,str3)>0) swap
2016-09-22 08:50:40 3162
原创 求无符号int 的最大值
#includeint main(void){unsigned int j = 0;printf("unsigned int 类型的最大值为:%u\n",j - 1);return 0;}
2016-09-21 21:10:42 7048
原创 从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)
有10个学生,每个学生的数据包括学号,姓名,3门课的成绩。从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)#include#define N 5 struct Student { int num; char name[20]; int score[3]; };int input(st
2016-09-21 20:41:33 12398 1
原创 编写一个函数print,打印一个学生的成绩数组,写一个函数input,用来输入5个学生的数据的记录
1、编写一个函数print,打印一个学生的成绩数组,该书组中有五个学生的数据,每个学生的数据包括num(学号)、name(姓名)、score(3门课的成绩)、用主函数输入这些数据,用print函数输出这些记录。2、编写一个函数input,用来输入5个学生的数据的记录。#include struct Student { int num; char name[20]; int
2016-09-21 19:57:01 37277
原创 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?注意闰年问题
定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天?注意闰年问题#include struct Date { int year; int month; int day; };int main(){ struct Date p; scanf("%d,%d,%d",&p.year,&p.month,&p.day); int a[12]={31,28
2016-09-21 17:56:31 71213 8
原创 鞍点
题目内容:给定一个n*n矩阵A。矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数。一个矩阵A也可能没有鞍点。你的任务是找出A的鞍点。输入格式:输入的第1行是一个正整数n, (1输出格式:对输入的矩阵,如果找到鞍点,就输出其下标。下标为两个数字,第一个数字是行号,第二个数字是列号,均
2016-09-20 17:08:56 575
原创 多项式加法
一个多项式可以表达为x的各次幂与系数乘积的和,比如:现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。程序要处理的幂最大为100。输入格式:总共要输入两个多项式,每个多项式的输入格式如下:每行输入两个数字,第一个表示幂次,第二个表示该幂次的系数,所有的系数都是整数。第一行一定是最高幂,最后
2016-09-20 14:44:28 881
原创 译码
#include#includeint main(){ char a[100],tr[100]; int j=0; printf("输入原码:\n"); gets(a); while(a[j]!='\0') { if(a[j]>='A'&&a[j]<='Z' ) tr[j]=155-a[j]; else if(a[j]>='a'&
2016-09-19 09:45:03 430
原创 找鞍点
找一个二维数组中的鞍点,即该位置上的元素是该行中最大,在该列上最小,也可能没有鞍点#include#define M 4#define N 5int main(){ int a[M][N]={{1,2,3,4,11},{2,4,6,8,12},{3,6,9,12,15},{4,8,12,16,7}}; int i,j; int flag=0; int row; int c
2016-09-18 19:47:14 4749
原创 译码
#include int main(){ char c; while((c=getchar())!='\n') { if((c>='A'&&c='a'&&c<='z') ) { c=c+4; if((c>'Z'&&c'z')) c=c-26; } printf("%c",c); } printf("\
2016-09-18 19:31:38 333
原创 冒泡法10个数字按从小到大进行排序
#include int main(){ int i,j; char p[10]; for(i=0;i<9;i++) scanf("%d",&p[i]); for(i=0;i<9;i++) { for(j=0;j<8-i;j++) { if(p[j]>p[j+1])
2016-09-18 16:29:11 3970
原创 用冒泡法对连续输入的字符由小到大的顺序排列
#include#include#define M 1000 int main(){ int i,j; char p[M]; gets(p); for(i=0;i<strlen(p);i++)/*只需对前面的strlen(p)个字符排序,最后一个在前面strlen(p)个排序完成后自动确定*/ {
2016-09-18 14:43:37 1701
原创 输入一行字符,输出最长的单词
1、确定单词分隔符,一般情况为空格和标点符号,根据题目情况来确定标点符号是否算在单词中。 假定单词不包括标点符号,即全由字母组成2、根据上面的特点,读取一个单词3、计算单词长度4、与当前最大单词长度max(初值为0)比较,如果大于max,则记录下当前单词,并将其长度赋值给max5、重复2-4,直到读单词结束(到字符串尾)。6、输出最长单词长度和单词。#include#in
2016-09-18 14:11:24 9227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人