high=mid-1;
else
{
midindex=mid;
break;
}
}
if(midindex!
=-1)
printf("\nfound!
");
else
printf("\nnotfound!
");
}
?
8:
依次提取字符串中的数字
#include
intdegital(char*a,intb[]);
voidmain()
{
chara[51];
intb[100],i,j;
printf("输入字符串\n");
gets(a);
i=degital(a,b);
printf("提取的数字有:
\n");
for(j=0;j
{
printf("%d",b[j]);
}
printf("\n");
}
intdegital(char*a,intb[])
{
inti;
for(i=0;*a!
='\0';a++)
{
if(*a>='0'&&*a<='9')
{
b[i++]=*a-'0';
}
}
returni;
}
9:
系统登录界面
#include
#include
voidmain()
{
charmima[13];
inttime;
printf("请输入登录密码(密码不超过12位字符串):
\n");
for(time=3;time>0;time--)
{
gets(mima);
if((strcmp(mima,"admin")==0))
{
printf("登录成功!
\n");
break;
}
else
{
if(time>1)
{
printf("密码错误!
\n");
printf("请输入登录密码(密码不超过12位字符串):
\n");
}
}
}
if(time<1)
{
printf("\nsorry!
\n");
}
}
10:
输出名字最长的
#include
#include
intmain()//可以用无返回值的(voidmain)最后就不用return了
{
charname[100]={0},temp[100]={0};
inti;
printf("请输入10个人的姓名:
\n");
for(i=0;i<10;i++)
{
gets(temp);
if(strlen(name)strcpy(name,temp);
}
printf("%s最长\n",name);
return0;
}
第五章
###1:
最小公倍数
#include
intmain()
{
inta,b,c;
printf("请输入两个数:
\n");
scanf("%d%d",&a,&b);
c=a*b;
while(a)
{
if(a
{
intt=a;a=b;b=t;
}
a%=b;
}
printf("最小公倍数:
%d\n",c/b);
return0;
}
2:
用函数将数组转置
#include
#defineN4
voidrevert(inta[][N])//传入了一个二维数组
{
inti,j,t;
for(i=0;i{
for(j=i;j{
t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;
}
}
}
voidmain()
{
inti,j,a[N][N];
printf("\ninput16integer:
");
for(i=0;i{
for(j=0;j{
scanf("%d",&a[i][j]);
}
}
printf("initdata:
\n");
for(i=0;i{
for(j=0;j{
printf("%3d",a[i][j]);
}
putchar('\n');
}
revert(a);
printf("revertdata:
\n");
for(i=0;i{
for(j=0;j{
printf("%3d",a[i][j]);
}
putchar('\n');
}
}
3:
输出大于平均值的数
#include
#defineN100
intfun(inta[],intb[],intn)
{
inti,c=0;
floataver1,sum=0;
for(i=0;i{
sum+=a[i];
}
aver1=sum/n;
for(i=0;i{
if(a[i]>aver1)
{
b[c++]=a[i];
}
}
returnc;
}
voidmain()
{
intx[N],y[N],num,count;
intj,n;
printf("PleaseinputtheN:
");
scanf("%d",&num);
printf("Input%dintegers:
\n",num);
for(j=0;j{
scanf("%d",&x[j]);
}
count=fun(x,y,num);
printf("resultis:
");
for(j=0;j{
printf("%5d",y[j]);
if((j+1)%5==0)
{
printf("\n");
}
}
}
4:
计数(有多少个三位数的各位和为5)
#include
intfun(intx)//以一个整数来接收s[i]这个整数
{
intt=0;
intx1,x2,x3;
x3=x/100;
x2=x/10%10;
x1=x%10;
if(x1+x2+x3==5)
{
t=1;
}
returnt;
}
voidmain()
{
ints[10],i,c=0;
printf("\npleaseinput10integers:
");
for(i=0;i<10;i++)
{
scanf("%d",&s[i]);
}
for(i=0;i<10;i++)
{
if(fun(s[i]))//fun(s[i])已经是一个返回值,if(0)不满足条件,不执行if条件一下的语句if(非0)满足条件
{
c++;
}
}
printf("totalnumberis:
%d",c);
}
###5:
递归法求阶乘
#include
intf(inti);
voidmain()
{
intn;
printf("请输入n的值:
");
scanf_s("%d",&n);
printf("n!
的值为:
%d\n",f(n));
}
intf(inti