![同济大学c++实验1到实验8前三题_第1页](http://file4.renrendoc.com/view14/M01/0B/0A/wKhkGWctLlWABpDVAABmk-nUzPs842.jpg)
![同济大学c++实验1到实验8前三题_第2页](http://file4.renrendoc.com/view14/M01/0B/0A/wKhkGWctLlWABpDVAABmk-nUzPs8422.jpg)
![同济大学c++实验1到实验8前三题_第3页](http://file4.renrendoc.com/view14/M01/0B/0A/wKhkGWctLlWABpDVAABmk-nUzPs8423.jpg)
![同济大学c++实验1到实验8前三题_第4页](http://file4.renrendoc.com/view14/M01/0B/0A/wKhkGWctLlWABpDVAABmk-nUzPs8424.jpg)
![同济大学c++实验1到实验8前三题_第5页](http://file4.renrendoc.com/view14/M01/0B/0A/wKhkGWctLlWABpDVAABmk-nUzPs8425.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验4:
1.
ttinclude“iostream,h”
voidmain()
{intn,sum=O;
for(n=l;;sum+=n,n+=2)
if(n>=20)break;
cout«,,sum=,,«sum<<endl;
I
2.
#includeuiostream.h"
voidmain()
{intx;
cout«Minputx:*,«endl;
cin>>x;
if(x==0)
cout<<,,0//;
else
while(x!=0)
{cout<<x%10;
x=x/10;
cout«endl;
3.
#include“iostream,h”
voidmain()
{inti,t=l;
floats=0;
for(i=l;1.0/t>le-4;i++)
{s=s+L0/t;
t=t+i;
}
cout<<,,s=,,<<s<<endl;
I
4.
#includeuiostream.h"
voidmain()
{doublepi=l,t=2;
intn;
for(n=l;t>le-4;n++)
{pi=pi*t;
t=(float)((2*n)*(2*n))/((2*nT)*(2*n+l));
!
cout<Cpi=,,«pi«endl;
i
5.(1)
#include''iostream.h"
#include“iomanip.h"
voidmain()
{inti,j;
for(i=l;i<=9;i++)
{cout<<setw(20~i);
for(j=l;j<=2*i-l;j++)
cout<<i;
cout<<endl;
I
)
5.(2)
#include4<iostream.h"
#include44iomanip.h"
voidmain()
{inti,j;
charc;
for(i=9;i>=l;i-)
{cout«setw(9-i)«,,z,;
c=9-i+'A';
for(j=l;j<=2*i;j++)
cout«c;
cout<<endl;
}
)
6.
#include4<iostream.h"
voidmain()
{intm,ml,m2,m3;
for(m=100;m<l000;m++)
{ml=m%10;
m2=m/10%10;
m3=m/100;
if+m2*m2*m2+m3*m3*m3=m)
I
1
7.
ttinclude“iostream,h”
#includeuiomanip.h"
voidmain()
{intx,y,z,k=0;
for(x=l;x<=6;x++)
for(y=x+l;y<=6;y++)
for(z=5;z<=6;z++)
if(x<y&&y<z)
{k++;
cout«x«,\t,«y«,\t,«z«endl;
I
cout<〈”满足条件的方案有:J,«k«endl;
I
8.
#includeuiostream.h”
^include"stdlib.h"
#include"time,h”
voidmain()
{inta,n,i,k;
doubles=0,temp=0;
srand(time(NULL));
a=rand()%9+l;
n=rand()%6+5;
for(i=l;i<=n;i++)
{temp=temp*10+a;
s=s+temp;
)
cout«,,s=M<<s«endl;
i
9.
#include“iostream,h”
#include"math,h”
voidmain()
{floata,x,xl;
cin>>a;
x二a;
do
{xl=x;
x=2.0/3*x+a/(3*x*x);
}while(fabs(x-xl)>le-5);
cout〈〈”编程求得x二”<Xx«endl;
cout«”调用函数求得x="<<pow(a,L0/3)«endl;
实验5:
#include"stdlib.h"
ttinclude“iostream,h”
voidmain()
{inta[10],i,max,min;
floatave;
for(i=0;i<10;i++)
a[i]=rand()%71+30;
cout«”数组a的内容如下:\n”;
for(i=0;i<10;i++)
cout«a[i]«,
cout«endl;
max=min=ave=a[0];
for(i=l;i<10;i++)
{ave=ave+a[i];
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
cout<<"max="<<max<<",min=v<<min«,\ave=,,<<ave/10<<endl;
1
2.#include<iostream.h>
^defineN20
#include"stdlib.h"
voidmain()
{inta[N],i,j,k;
cout«"排序前:\n”;
for(i=0;i〈N;i++)
{a[i]=rand()%101;
cout«a[i]«,\
)
for(i=0;i<N-l;i++)
{k=i;
for(j=i+l;j<N;j++)
if(a[j]>a[k])
k二j;
if(k!=i)
{intt=a[k];a[k]=a[i];a[i]=t;}
}
cout<<”排序后:\n”;
for(i=0;i<N;i++)
cout«a[i]«,*;
I
3.
#include“iostream,h”
ttinclude“stdlib.h"
voidmain()
{inti,j,s[10],t,n;
for(i=0;i<10;i++)
{s[i]=rand()%101;
cout«s[i]«,*
}
cout«endl;
cin>>n;
for(j=0;j<n;j++)
{t=s[9];
for(i=8;i>=0;i-)
(
s[i+l]=s[i];
}
s[0]=t;
}
for(i=0;i<10;i++)
cout«s[i]«,*
}
4.
见第四章习题编程题1答案。
5.
(1)
ttinclude<iostream.h>
^include<iomanip.h>
voidmain()
{inta[10][10],i,j,n;
cin»n;
for(i=0;i<n;i++)
(
a[i][0]=l;
a[i][i]=l;
)
for(i=2;i<n;i++)
for(j=l;j<i:j++)
a[i][j]=a[i-l][j]+a[i-l][j-1];
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
(
cout«setw(6)«a[i][j];
)
cout«endl;
}
)
(2)
ttinclude<iostream.h>
ttinclude<iomanip.h>
voidmain()
{inta[10][10],i,j,n;
cin>>n;
for(i=0;i<n;i++)
I
a[i][0]=l;
a[i][i]=l;
}
for(i=2;i<n;i++)
for(j=l;j<i;j++)
a[i][j]=a[i-l][j]+a[i-l][j-1];
for(i=0;i<n;i++)
(
cout<<setw((n-i)*3)<<M44;
for(j=0;j<=i;j++)
I
cout«setw(6)«a[i][j];
1
cout<<endl;
}
}
6.
方法•:
#include“stdio.h"
#include“string,h”
voidmain()
{chars[80],ch;
inti,len;
gets(s);
len=strlen(s);
for(i=0;i<len/2;i++)
{ch=s[i];
s[i]=s[len-i-l];
s[len-i-l]=ch;
}
puts(s);
I
方法二:
^include"stdio.h"
#include“string,h”
voidmain()
{char*p,*pl,*p2,ch;
inti,len=0;
p=pl=p2=newchar[80];
gets(pl);
while(*p2!=,\0/)
p2++;
p2-;
while(pl<p2)
{ch=*pl;
*pl=*p2;
*p2=ch;
pl++;
p2-;
}
puts(p);
!
7.
^include"stdio.h"
#includeuiostream.h"
voidmain()
{chars[80],ch;inti,j;
gets(s);
cin>>ch;
while(l)
{for(i=0;s[i]!=,\0,;i++)
if(s[i]==ch)break;
if(s[i]==,\0,)break;
for(j=!='\0';j++)
s[j]=s[j+l];
s[j]=>\O/;
)
puts(s);
)
8.
方法一:
ttinclude<iostream.h>
ftinclude"stdio.h"
voidmain()
{chars[80];
gets(s);
inti=0;
while(s[i]!=,\0,)
(
if(s[i]>=)A,&&s[i]<=,Z')
s[i]=sEi]+32;
i++;
}
puts(s);
)
方法::
ttinclude"stdio.h"
voidmain()
{chars[80],*p=s;
gets(s);
while(*p!=,\0,)
I
if(*p>='A'&&*p<='Z')
*p二*p+32;
p++;
I
puts(s);
|
实验6:
1.编一判断m是否为素数的函数,并在主函数中利用它输出十对最小的季生素数。所谓挛
生素数是指两个相差为2的素数,如3和5,11和13。输出形式如图2.6.1。
函数形式为:
boolisprime(intm);
#include4tiostream.h"
intisprime(intm)〃判别m是否为质数
{inti;
for(i=2;m%i!=0;i++);
return(i==m);
voidmain()
{intx,count=0;
x=2;
while(l)
{if(isprime(x)&&isprime(x+2))
{count++;
cout«”(“<〈x«”,”<<x+2<〈")“《endl;
if(count>=10)break;
i
x++;
I
2.编一函数,功能为构造正整数x的逆序数。再编一主函数,输出10个大于10000的最小的
回文数。回文数是指顺读和倒读都相同的数,如5、151、3553等。
函数形式为:intreverse(intx);
#inc1udeviostream.h"
ttinclude^stdlib.hv
#include"time.h"
intf(inta)
{intb,c=0;
while(a!=0)
{b=a%10;
c=c*10+b;
a/=10;
returnc;
}
voidmain()
{intx,i,k=0,t;booltag=true;
srand(time(NULL));
for(x=10000;k<10;x++)
if(f(x)==x)
{cout«x«endl;k++;if(k==10)break;}
}
3.编一函数,功能为判断一字符串是否为回文,如果是回文则返回1,否则返回0。回文是
指顺读和倒读都一样的字符串,如“deed”和“level”是回文。在主函数中对输入的字符串加
以调用。
函数形式为:inthuiwen(chars口);
ttinclude<iostream.h>
#include<string.h>
#include<stdio.h>
inthuiwen(chars[])
inti,n=0;
charch,si[80];
strcpy(sl,s);〃原来的字符串保留在si中
while(s[n])n++;〃求字符串长度
for(i=0;i<n/2;i++)〃构造逆序的字符串
{ch=s[i];s[i]=s[n-i-l];s[n-i-l]=ch;}
if(strcmp(sl,s)==0)
return1;
else
return0;
voidmain()
{chars[80];inti,count=0;
cout<<"输入5个字符串:M«endl;
for(i=0;i<5;i++)
{gets(s);
if(huiwen(s))count++;
|
cout<<”回文个数:"<<count«endl;
4.函数的功能是将学生成绩从高分到低分排序,并统计优秀与不及格的人数。用下面两种
方法实现:
(1)函数形式为:intfun(ints[],intn,int*x);
要求优秀人数通过return返回,不及格人数通过指针参数返回结果。
(2)函数形式为:voidfun(ints[],intn,int&x,int&y);
要求优秀与不及格的人数通过引用参数返回结果。
分别编二个程序,学生数从键盘输入。
方法一:
ftinclude<iostream.h>
#defineN10
intfun(inta[],intn,int*x)
{inti,j,k;
*x=0;
for(i=0;i<n-l;i++)
{k=i;
for(j=i+l;j<n;j++)
if(a[j]>a[k])
k二j;
if(k!=i)
{intt=a[k];a[k]=a[i];a[i]=t;}
for(i=0;i<n;i++)
if(a[i]>=60)
*x=*x+l;
return(n-*x);
)
voidmain()
{inta[N],i,n,pass,npass;
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
npass=fun(a,n,&pass);
,,,,,,=,,
cout«pass=«pass<<)npass«npass<<endl;
cout<<”成绩由高到低依次为:\n”;
for(i=0;i<n;i++)
cout<<a[i]<<endl;
}
方法2:
ttinclude<iostream.h>
#defineN10
voidfun(inta[],intn,int&x,int&y)
{inti,j,k;
x=0;
for(i=0;i<n-l;i++)
{k=i;
for(j=i+l;j<n;j++)
if(a[j]>a[k])
k=j;
if(k!=i)
{intt=a[k];a[k]=a[i];a[i]=t;}
for(i=0;i<n;i++)
if(a[i]>=60)
x=x+l;
y二n-x;
voidmain()
{inta[N],i,n,pass,npass;
cin»n;
for(i=0;i<n;i++)
cin>>a[i];
fun(a,n,pass,npass);
,,,,,,=,,
cout<<pass=<<pass<<Jnpass<<npass<<endl;
cout<<”成绩由高到低依次为:\n”;
for(i=0;i<n;i++)
cout<<a[i]«endl;
}
5.编一函数,功能为统计字符串中各个字母(不区分大、小写)出现的频率,同时找出频
率出现最高的字母及次数。。函数形式为:
voidfreq(chars[],intp[],char&chmax,int&max)
#include4tiostream.h"
^include“stdio.h"
#include“string,h”
voidfreq(chars[],intp[],char&chmax,int&max)
{for(inti=0;i<26;i++)
p[i]=0;
strlwr(s);
i=0;
while(s[i]!=,\OZ)
{if)
p[s[i]-,a,]++;
i++;
max=p[0];intk=0;
for(i=l;i<26;i++)
if(p[i]>max)
{max=p[i];k=i;}
chmax=k+97;
)
voidmain()
{intp[26],i,max;chars[80],chmax;
gets(s);
freq(s,p,chmax,max);
for(i=0;i<26;i++)
if(p[i])cout<<char(i+97)«n—-v«p[i]<<endl;
cout<<chmax<<v—->,<<max«endl;
}
6.编写函数max,其功能是将字符串s中最大字符的地址返回,再编写一个主函数,调用该
函数,将字符串s中从最大字符开始的子串中的小写字母转换成大写字母,然后输出新字符
串s。例如,假设s的内容为“qwertyou”,则从最大字符V开始的子串为“you”,处理后的s为
“qwertYOU”。
函数形式为:char*max(chars口);
#includeuiostream.h"
^include“string/”
#include"stdio.h"
char*max(chars[])
{char*p=s;
inti=l,imax=0;
while(s[i]!=,\0/)
{if(s[i]>s[imax])imax=i;
i++;
while(s[imax]!=?\0/)〃等价于strupr(&s[imax]);
{s[imax]-=32;imax++;}
returnp;
}
voidmain()
{chars[100];
gets(s);
cout<<max(s)<<endl;
|
7.编一函数,求级数的部分和,当最后一项的值小于eps时结束。设eps的默认值为10-6o
函数形式为:
doublefun(doublex,doubleeps=le-6);
#include<iostream.h>
#include<math.h>
doublefun(doublex,doubleeps=le-6)
{intn=l;
doublet=l,s=0;
while(fabs(x/t)>le-6)
s=s+x/t;
n=n+2;
t=-t*n*(n-1);
}
returns;
voidmain()
{doublex;
cin>>x;
cout«fun(x)<<endl;
}
8.编写两个同名的函数,分别求出整型数的两点间距离和浮点型数的两点间距离,调试成
功后,再将其改为用函数模板实现。
函数形式为:
doubledist(intxl,intyl,intx2,inty2);
doubledist(doublexl,doubleyl,doublex2,doubley2);
#include<iostream.h>
#include<math.h>
doubledist(intxl,intyl,intx2,inty2)
return(sqrt((xl-x2)*(xl-x2)+(yl-y2)*(yl-y2)));
doubledist(doublexl,doubleyl,doublex2,doubley2)
return(sqrt((xl-x2)*(xl-x2)+(yl-y2)*(yl-y2)));
voidmain()
{intxl,x2,yl,y2;
doublexll,xl2,yll,yl2;
cin»xl»yl»x2»y2;
cin»xll»yll»xl2»yl2;
cout«,,distl=,,«dist(xl,yl,x2,y2)<<endl;
cout<Cdist2=,,«dist(xll,yll,xl2,yl2)«endl;
i
用函数模板来实现:
#include<iostream.h>
#include<math.h>
template<classT>
doubledist(Txl,Tyl,Tx2,Ty2)
return(sqrt((xl-x2)*(xl-x2)+(yl-y2)*(yl-y2)));
)
voidmain()
{intxl,x2,yl,y2;
doublexll,xl2,yll,yl2;
cin»xl»yl»x2»y2;
cin>>xlI»yll>>xl2»yl2;
cout<<vdistl=,,«dist(xl,yl,x2,y2)«endl;
cout<Cdist2=,,«dist(xll,yll,xl2,yl2)«endl;
I
实验6:
1.编一判断m是否为素数的函数,并在主函数中利用它输出十对最小的学生素数。所谓挛
生素数是指两个相差为2的素数,如3和5,11和13。输出形式如图2.6.1。
函数形式为:
boolisprime(intm);
#include〃iostream.h〃
intisprime(intm)〃判别m是否为质数
{inti;
for(i=2;m%i!=0;i++);
return(i==m);
)
voidmain()
{intx,count=0;
x=2;
while(l)
{if(isprime(x)&&isprime(x+2))
(count++;
cout«z/Cz<<x«,z,/z<<x+2«/z),z«endl;
if(count>=10)break;
x++;
)
2.编一函数,功能为构造正整数x的逆序数。再编一主函数,输出10个大于10000的最小的
回文数。回文数是指顺读和倒读都相同的数,如5、151、3553等。
函数形式为:intreverse(intx);
ttinclude"iostream.h〃
#includc"stdlib.h〃
#include〃time.h〃
intf(inta)
{intb,c=0;
while(a!=0)
{b=a%10;
c=c*10+b;
a/=10;
returnc;
voidmain()
intx,i,k=0,t;booltag=true;
srand(time(NULL));
for(x=10000;k<10;x++)
if(f(x)=x)
{cout<<x«endl;k++;if(k=10)break;}
3.编一函数,功能为判断一字符串是否为回文,如果是回文则返回1,否则返回0。回文是
指顺读和倒读都一样的字符串,如“deed”和“level”是回文。在主函数中对输入的字符
串加以调用。
函数形式为:inthuiwen(chars口);
ttinclude<iostream.h>
ttinclude<string.h>
#include<stdio.h>
inthuiwen(chars[])
inti,n=0;
charch,si[80];
strcpy(si,s);〃原来的字符串保留在si中
while(s[n])n++;〃求字符串长度
for(i=0;i<n/2;i++)〃构造逆序的字符串
{ch=s[i];s[i]=s[n-i-l];s[n-i-l]=ch;}
if(strcmp(sl,s)=0)
return1;
else
return0;
voidmain()
{chars[80];inti,count=0;
cout<<〃输入5个字符串:〃Gendl;
for(i=0;i<5;i++)
{gets(s);
if(huiwen(s))count++;
cout<<“回文个数:"<<count«endl;
4.函数的功能是将学生成绩从高分到低分排序,并统计优秀与不及格的人数。用下面两种
方法实现:
(1)函数形式为:intfun(ints[],intn,int*x);
要求优秀人数通过return返回,不及格人数通过指针参数返回结果。
(2)函数形式为:voidfun(ints[],intn,int&x,int&y);
要求优秀与不及格的人数通过弓I用参数返回结果。
分别编二个程序,学生数从键盘输入。
方法一:
#include<iostream.h>
#defineN10
intfun(inta[],intn,int*x)
{inti,j,k;
*x=0;
for(i=0;i<n-l;i++)
{k=i;
for(j=i+l;j<n;j++)
if(a[j]>a[k])
k二j;
if(k!=i)
{intt=a[k];a[k]=a[i];a[i]=t;}
)
for(i=0;i<n;i++)
if(a[i]>=60)
*x=*x+l;
return(n-*x);
}
voidmain()
{inta[N],i,n,pass,npass;
cin»n;
for(i=0;i<n;i++)
cin»a[i];
npass=fun(a,n,&pass);
cout<<,,pass=,z«pass«//,npass=^«npass<<endl;
cout<X〃成绩由高到低依次为:\n〃;
for(i=0;i<n;i++)
cout«a[i]«endl;
方法2:
#include<iostream.h>
#defineN10
voidfun(inta[],intn,int&x,int&y)
{inti,j,k;
x=0;
for(i=0;i<n-l;i++)
{k=i;
for(j=i+l;j<n;j++)
if(a[j]>a[kj)
k=j;
if(k!=i)
{intt=a[k];a[k]=a[i];a[i]=t;}
}
for(i=0;i<n;i++)
if(a[i]>=60)
x=x+l;
y=n-x;
I
voidmain()
{inta[N],i,n,pass,npass;
cin»n;
for(i=0;i<n;i++)
cin»a[i];
fun(a,n,pass,npass);
cout<<z,pass=zz«pass«z,,npass=z,<<npass<<endl;
cout*〃成绩由高到低依次为:\n〃;
for(i=0;i<n;i++)
cout«a[i]«endl;
5.编•函数,功能为统计字符串中各个字母(不区分大、小写)出现的频率,同时找出频
率出现最高的字母及次数。。函数形式为:
voidfreq(chars[],intp[],char&chmax,int&max)
#include"iostream.h〃
#include〃stdio.h〃
#include"string.h〃
voidfreq(chars[],intp[],charftchmax,int&max)
{for(inti=0;i<26;i++)
p[i>0;
strlwr(s);
i=0;
while(s[i]!=,\0J)
{if(s[i]>=,a&&s[i]<=?z)
p[s[i]->a]++;
i++;
max二p[0];intk=0;
for(i=l;i<26;i++)
if(p[i]>max)
{max=p[i];k=i;}
chmax=k+97;
voidmain()
{intp[26],i,max;chars[80],chmax;
gets(s);
freq(s,p,chmax,max);
for(i=0;i<26;i++)
if(p[ij)cout«char(i+97)<<〃----,z«p[i]«endl;
cout«chmax<<?z----,z<<max<<endl;
)
6.编写函数max,其功能是将字符串s中最大字符的地址返回,再编写一个主函数,调用该
函数,将字符串s中从最大字符开始的子串中的小写字母转换成大写字母,然后输出新字符
串s。例如,假设s的内容为"qwertyou",则从最大字符'y'开始的子串为“you”,处理
后的s为“qwertYOU”。
函数形式为:char*max(chars[]);
#include,ziostream,h
ttinclude"string.h〃
#include〃stdio.h〃
char*max(chars口)
{char*p=s;
inti=l,imax=0;
while(s[i]!='\0')
{if(s[i]>s[imax])imax=i;
i++;
while(s[imax]!='\0')//等价于strupr(&s[imax]);
{s[imax]-=32;imax++;}
returnp;
voidmain()
{chars[100];
gets(s);
cout<<max(s)<<endl;
}
7.编一函数,求级数的部分和,当最后一项的值小于eps时结束。设eps的默认值为10-6。
函数形式为:
doublefun(doublex,doubleeps=le-6);
^include<iostream.h>
#include<math.h>
doublefun(doublex,doubleeps=le-6)
{intn=l;
doublet=l,s=0;
while(fabs(x/t)>le-6)
s=s+x/t;
n=n+2;
t=-t*n*(n-l);
returns;
}
voidmain()
{doublex;
cin>>x;
cout<<fun(x)<<endl;
)
8.编写两个同名的函数,分别求出整型数的两点间距离和浮点型数的两点间距离,调试成
功后,再将其改为用函数模板实现。
函数形式为:
doubledist(intxl,intyl,intx2,inty2);
doubledist(doublexl,doubleyl,doublex2,doubley2);
#include<iostream.h>
#include<math.h>
doubledist(intxl,intyl,intx2,inty2)
return(sqrt((xl-x2)*(xl-x2)+(yl-y2)*(yl-y2)));
}
doubledist(doublexl,doubleyl,doublex2,doubley2)
return(sqrt((xl-x2)*(xl-x2)+(yl-y2)*(yl-y2)));
voidmain()
{intxl,x2,yl,y2;
doublexll,xl2,yll,yl2;
cin>>xl»yl»x2»y2;
cin>>xlI»yll»xl2>>yl2;
cout«,,distl=,,«dist(xl,yl,x2,y2)«endl;
cout«/zdist2="z«dist(xll,yll,xl2,yl2)«endl;
用函数模板来实现:
#include<iostream.h>
#include<math.h>
template<classT>
doubledist(Txl,Tyl,Tx2,Ty2)
return(sqrt((xl~x2)*(xl-x2)+(yl-y2)*(yl-y2)));
voidmain()
{intxl,x2,yl,y2;
doublexll,xl2,yll,yl2;
cin>>xl»yl»x2»y2;
cin>>xll»ylI»xl2>>yl2;
cout«/zdistl=,,«dist(xl,yl,x2,y2)<<endl;
cout«,zdist2=,z«dist(xll,yll,xl2,yl2)<<endl;
实验7:
1、
#include"iostream.h〃
ftdefineN5
structstudent
char*num;
intscore;
studentmax(students口,intn)
studentt=s[0];
for(inti=l;i<n;i++)
if(s[i].score>t.score)
t=s[i];
returnt;
i
voidmain()
students[N],maxs;
inti;
for(i=0;i<N;i++)
s[iLnum=newchar[10];〃假设学号不超过9位
cin>>s[i].num>>s[i].score;
maxs=max(s,N);
cout«maxs.num«,'«maxs.score«endl;
i
2、
#include"iostream.h〃
#include"string.h〃
#defineN5
structbook
charname[30];
doubleprice;
};
voidsort(bookb[],intn)
inti,j;
bookt;
for(i=0;i<n-l;i++)
for(j=0;j<n-l-i;j++)
if(strcmp(b[j].name,b[j+l].name)>0)
(
t=b[j];
b[j]=b[j+l];
b[j+l]=t;
}
voidmain()
bookb[N];
inti;
for(i=0;i<N;i++)
cin>>b[i].name>>b[i].price;
sort(b,N);
for(i=0;i<N;i++)
cout<<b[i].name«,><<b[i].price«endl;
ttincludez,iostream.h,z
voidmain()
structdate
intyear;
intmonth;
intday;
}d;
intdpm[12]={31,28,31,30,31,30,31,31,30,31,30,31),i,s=0;
cin>>d.year»d.month>>d.day;
if(d.year%400=0||d.year%4==0&&d.year%100!=0)
dpm[l]=29;
for(i=0;i<d.month-1;i++)
s=s+dpm[i];
s=s+d.day;
cout<<z,s=,z<<s«endl;
4、
^defineN5
#include"iostream.h〃
structnode
charnum[6];〃职工工号
charname[20];〃职工姓名
doublewage;〃职工工资
node*next;
);
node*deln(node*head,intn)
node*p=head,*q;
inti=l;
if(n==l)
head=head->next;
else
while(i<n&&p->next!=NULL)
q二p;
p=p->next;
i++;
}
q->next=p->next;
deletep;
returnhead;
voidprint(node*head)
node*p=head;
while(p!=NULL)
cout«p->name<<,'<<p->num<〈',<<p->wage«endl;
p=p->next;
}
voidmain()
node*head=NULL,*tail=NULL,*newnode;
inti,n;
for(i=0;i<N;i++)
newnode=newnode;
cin>>newnode->name»newnode->num>>newnode->wage;
if(head=NULL)
head=newnode;
else
tail->next=newnode;
tail=newnode;
tail->next=NULL;
print(head);
cin»n;〃输入待删除结点的序号
head=deln(head,n);
print(head);
#defineN5
#include,ziostream,h"
ttinclude"string.h〃
structnode
charnum[6];〃职工工号
charname[20];〃职工姓名
doublewage;〃职工工资
node*next;
};
voidmodify(node*head,charnum[],doublew)
node*p=head;
while(p!=NULL&&strcmp(p->num,num)!=0)
p=p->next;
if(p==NULL)
cout<<num<</znotexist.\nz,;
else
p->wage=w;
voidprint(node*head)
node*p=head;
while(p!=NULL)
cout«p->name<<,’<<p->num<〈''«p->wage«endl;
p=p->next;
)
voidmain()
node*head二NULL,*tail=NULL,*newnode;
inti;
charnum[6];
doublew;
for(i=0;i<N;i++)
newnode=newnode;
cin>>newnode->name»newnode->num>>newnode->wage;
if(head=NULL)
head=newnode;
else
tail->next=newnode;
tail=newnode;
tail->ncxt=NULL;
print(head);
cin»num»w;〃输入待修改信息的工号、新工资
modify(head,num,w);
print(head);
}
6、
#include
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电子系统项目可行性研究报告
- 成都2025年四川省成都市双流区西航港第二初级中学招聘教师3人笔试历年参考题库附带答案详解
- 2025年智能泥浆储量检测仪项目可行性研究报告
- 2025年摩托车大架项目可行性研究报告
- 2025年对开机项目可行性研究报告
- 2025年可调开电源项目可行性研究报告
- 2025至2031年中国不锈钢化妆镜行业投资前景及策略咨询研究报告
- 2025年三层气泡膜机组项目可行性研究报告
- 2025至2030年集装箱标角件项目投资价值分析报告
- 2025至2030年通讯口光隔离保护器项目投资价值分析报告
- (2024年)保安培训图文课件
- 专题16.7 二次根式章末八大题型总结(拔尖篇)-八年级数学下册(人教版)(解析版)
- 如何提高调查研究能力
- 电网两票培训课件
- 改革开放教育援藏的创新及其成效
- 小学科学人教鄂教版四年级下册全册教案2023春
- 第3课+中古时期的西欧(教学设计)-【中职专用】《世界历史》(高教版2023基础模块)
- 2024年南通建筑电工证考试题模拟试题电工培训试题及答案(全国通用)
- 班组建设工作汇报
- 遛狗行业市场分析
- 2025小学道德与法治开学第一课(思想政治理论教育课)
评论
0/150
提交评论