cout<}
8.利用折半查找法实现数据的查找
#include
voidsort(int*,int);
voidsearch(int*,int,int);
voidmain()
{
inta[50],n,k;
cout<<"数组元素个数为";
cin>>n;
cout<<"输入数组:
";
for(inti=0;icin>>a[i];
cout<<"输入要查找的数";
cin>>k;
sort(a,n);
search(a,n,k);
}
voidsort(int*x,intn)
{
inti,j,t;
for(i=0;iif(x[j]>x[j+1])
{
t=x[j];
x[j]=x[j+1];
x[j+1]=t;
}
}
voidsearch(int*x,intn,intk)
{
inttop=0,bottom=n-1,middle;
middle=(top+bottom)/2;
while(top<=bottom)
{
if(k==x[middle])
break;
elseif(k>x[middle])
top=middle+1;
else
bottom=middle-1;
middle=(top+bottom)/2;
}
if(k==x[bottom])
cout<else
cout<<"未找到";
}
1输入圆柱体半径r,与高度h。
输出表面积、体积。
#include
voidmain()
{
doubler,h,s,v,l=3.14;
cout<<"输入圆柱体半径和高";
cin>>r>>h;
s=2*l*r*h+2*l*r*r;
v=l*r*r*h;
cout<<"表面积\t"<
}
2输入成绩,>=60输出“通过”,否则输出“未通过”。
#include
voidmain()
{
inta;
cout<<"输入成绩";
cin>>a;
if(a>=60)
cout<<"通过";
else
cout<<"未通过";
}
3输入若干个数据,输出其和,当输入-999时停止输入。
#include
voidmain()
{
inta,sum=0;
for(;a!
=-999;)
{
cout<<"输入1个数据";
cin>>a;
sum+=a;
}
cout<<"和是"<}
4输入十个同学成绩,输出最高、最低分。
#include
voidmain()
{
doublea,max,min;
cout<<"输入十个学生成绩";
cin>>a;
max=min=a;
for(inti=2;i<=10;i++)
{
cin>>a;
if(a>max)
max=a;
if(amin=a;
}
cout<<"最高分"<}
8.编写函数求sin(x)......,次绝对值小于-6停止计算,主函数中调用,输出结果。
#include
#include
voidmain()
{
doubley,x,j,i,flag=-1.0;
cout<<"请输入x的值:
";
cin>>x;
y=x;
j=1.0;
for(i=3.0;fabs(x)>1e-6;i=i+2.0)
{
j=j*i*(i-1.0);
x=flag*(pow(x,i)/j);
y=y+x;
flag=-flag;
}
cout<<"sin(x)="<}
9.定义附属结构体类型,包括两个double成员,代表实部和虚部,编写函数求两个复数的差。
主函数中调用,计算1.1+2.2i和3.3+4.4i的差,并输出。
#include
structfushu
{
doubleshibu;
doublexubu;
}shu[2]={{1.1,2.2},{3.3,4.4}};
voidf(double*x,double*y)
{
*x=shu[0].shibu-shu[1].shibu;
*y=shu[0].xubu-shu[1].xubu;
}
voidmain()
{
doublex,y;
f(&x,&y);
cout<<"结果="<}
编写输入任意字符串,大写字母替换为小写字母,ABCdeF——abcdef.
#include
voidmain()
{
chars[100];
cout<<"pleaseinputacharacterstring:
";
cin.getline(s,100);
for(inti=0;s[i]!
='\0';i++)
if(s[i]>='A'&&s[i]<='Z')
s[i]=s[i]+32;
cout<
}
计算并输出一维数组中的所有元素和,假定长度为10.
#include
voidmain()
{
inta[10];
cout<<"请输入十个数字:
";
for(inti=0;i<10;i++)
cin>>a[i];
intsum=0;
for(i=0;i<10;i++)
sum+=a[i];
cout<}
编写两个函数分别计算2的n方,n的阶乘,在主函数中调用计算2^1*1!
+2^2*2!
+2^3*3!
+……)(n<10)在主函数中输入n的值,输出结果。
#include
intfactorial(int);
intpower(int);
voidmain()
{
intn;
cout<<"请输入一个小于10的数:
";
cin>>n;
intp,q,sum=0;
for(inti=1;i<=n;i++)
p=factorial(i);
q=power(i);
sum+=p*q;
cout<<"sum="<}
intfactorical(intm)
{
inty=1;
for(inti=1;i<=m;i++)
y*=i;
returny;
}
intpower(intt)
{
inty=1;
for(inti=1;i<=t;i++)
y*=2;
returny;
}
Y={1(x>0);0(x=0);-1(x<0)}
#include
voidmain()
{
intx,y;
cout<<"请输入x的值";
cin>>x;
if(x==0)
y=0;
elseif(x>0)
y=1;
else
y=-1;
cout<<"y="<}
在长度10的数组a中查找是否包含某个数据想,x键盘输入。
#include
voidmain()
{
inta[10];
intx;
cout<<"pleaseinputtennumbers:
";
for(inti=0;i<10;i++)
cin>>a[i];
cout<<"\npleaseinputthenumbertosearch:
";
cin>>x;
for(i=0;i<10;i++)
{
if(x==a[i])
cout<<"yes,xbelongtoa"<else
cout<<"itcan'tbefountoutina."<}
}
编写,输入3x3矩阵,求两条对角线元素和。
#include
voidmain()
{
intsum=0;
inta[3][3];
cout<<"pleaseinput3x3matrix";
for(inti=0;i<3;i++)
for(intj=0;j<3;j++)
cin>>a[3][3];
for(i=0;i<3;i++)
{
for(intj=0;j<3;j++)
{
if(i==j)
sum+=a[i][j];
elseif(i+j==2)
sum+=a[i][j];
}
}
cout<<"theresultis"<}
2.输入a时输出Amercia,b时Britain,c时China,d时Denmark,其他时Harland
#include
voidmain()
{
charx;
cin>>x;
if(x=='a')
cout<<"Amercia"<elseif(x=='b')
cout<<"Britain"<elseif(x=='c')
cout<<"China"<elseif(x=='d')
cout<<"Denmark"<else
cout<<"Harland";
}
3.输入m,n,输出。
。
。
#include
voidmain()
{
inti,j,m,n,y,sum=0;
cin>>m>>n;
m=2*m-1;
for(i=1;i<=m;i=i+2)
{
y=1;
for(j=1;j<=n;j++)
{
y=y*i;
}
sum=sum+y;
}
cout<}
4.输入10个学生的成绩求平均值,输出最高成绩并统计低于平均值的人数
#include
voidmain()
{
doublea[10],max,aver=0,n=0;
inti;
for(i=0;i<10;i++)
{
cin>>a[i];
}
max=a[0];
for(i=0;i<10;i++)
{
if(maxmax=a[i];
aver=aver+a[i];
}
aver=aver/10;
for(i=0;i<10;i++)
{
if(a[i]n++;
}
cout<<"平均值为:
"<"<"<}
5.按杨辉三角排列十行
#include
voidmain()
{
inti,j,a[10][10];
for(i=0;i<10;i++)
{
a[i][0]=1;
a[i][i]=1;
a[i][i+1]=0;
}
for(i=1;i<10;i++)
{
if(i)
for(j=1;j<=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
cout<cout<<'\n';
}
}
去除字符串中的数字
#include
voidmain()
{
chara[100],b[100];
inti,j;
cin>>a;
for(i=0,j=0;a[i]!
='\0';i++)
{
if(a[i]<'0'||a[i]>'9')
b[j++]=a[i];
}
b[j]='\0';
cout<
}
字符替换
#include
constn=10;//定义字符串长度
voidreplace(char*s,chara,charb)
{
for(inti=0;i{
if(s[i]==a)
s[i]=b;
}
}
voidmain()
{
chara[n],b,c;
cin.getline(a,n);//输入字符串
cin>>b;//输入需要替换的字符
cin>>c;//输入替换后的字符
replace(a,b,c);
cout<}
输入大写输出小写
#include
voidmain()
{
chara;
cin>>a;
a=a-32;
cout<}
工资
#include
voidmain()
{