C语言 求大神指教

#include<stdio.h>intbinary(,k);voidsort();voidsort(){inti,j,temp;inta[10];for(i=0;i<1... #include<stdio.h>
int binary(,k);
void sort( );
void sort( )
{
int i,j,temp;
int a[10];
for(i=0;i<10;i++)
scanf ("%d,",a[i]);
for(j=0;j<9;j++)
{
for (i=0;i<9-j;i++)
if (a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
int binary(a[],k)
{
int k,hig,low,mid;
low=0,hig=9;
while(low<=hig)
{
mid=(low+hig)/2;
if(k<a[mid])
hig=mid-1;
else if(k>a[mid])
low=mid+1;
else printf("%d\n", mid);
}
}
int main ()
{
int k,a[10];
sort(a[]);
scanf("%d\n,&k);
binary(a[],k);
return 0;
}
展开
 我来答
手机用户27973
2014-06-05 · 超过67用户采纳过TA的回答
知道答主
回答量:132
采纳率:0%
帮助的人:137万
展开全部
1.用户从键盘输入变量a和变量b的值,计算a+|b|
#include<stdio.h>
#include<math.h>/*库函数fabs求绝对值在他里面*/
int main(void)
{
double a,b,sum;
scanf("%lf%lf",&a,&b);
sum=a+fabs(b);
printf("%lf + |%lf| = %lf\n",a,b,sum);
return 0;
}

2.编写程序实现用户输入三个整数,求出3个整数的和并输出
#include<stdio.h>
int main(void)
{
int a,b,c,sum;
scanf("%d%d%d",&a,&b,&c);
sum=a+b+c;
printf("%d + %d + %d = %d\n",a,b,c,sum);
return 0;
}

3.编程计算定期存款本利之和
#include<stdio.h>
int main(void)
{
double rate,capital,deposit;
int n,i;
printf("输入存款的年利率rate、存款期n和存款本金capital :");
scanf("%lf%d%lf",&rate,&n,&capital);
deposit=capital;
for(i=1;i<=n;i++)
deposit=deposit*(1+rate/100);
printf("%d年后的本利之和deposit =%lf\n",n,deposit);
return 0;
}

4.设计一个函数,实现从键盘输入三个整数,判断能否构成三角形
的三边,如果能就计算输出三角形面积,按照下图给出的公式
计算三角形的面积,如果不能就打印出不能构成三角形的提示信息。
#include<stdio.h>

#include<math.h>
int main(void)
{
int a,b,c;
double s,d;
scanf("%d%d%d",&a,&b,&c);
if(a<=0||b<=0||c<=0)
{
printf("三边长有非正整数,不合要求\n");
return 1;
}
if(a+b<=c||a+c<=b||b+c<=a)
{
printf("三边长不符合构成三角形的要求,有一边过长\n");
return 2;
}
d=(double)(a+b+c)/2;
s=sqrt(d*(d-a)*(d-b)*(d-c));
printf("三边长为%d,%d,%d的三角形面积为 %lf\n",a,b,c,s);
return 0;
}

5.编程实现实现如下功能:输入三个班的10名同学的c语言课程成绩,编程分别求三个班的成绩的最高分,成绩的最低分,平均成绩并输出

#include<stdio.h>
int main(void)
{
int a[3][10];
int best[3];
int bad[3];
double ave[3];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<10;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{
ave[i]=best[i]=bad[i]=a[i][0];
for(j=1;j<10;j++)
{
if(best[i]<a[i][j])best[i]=a[i][j];
if(bad[i]>a[i][j])bad[i]=a[i][j];
ave[i]=ave[i]+a[i][j];
}
ave[i]=ave[i]/10;
}
for(i=0;i<3;i++)
printf(" %d 班的最高成绩 %d,最低成绩 %d,平均成绩 %.2lf\n",i+1,best[i],bad[i],ave[i]);
return 0;
}

6.编写完整程序实现如下功能:输入一个整数,判断它能否被3,5,7整除
#include<stdio.h>
int main(void)
{
int i;
scanf("%d",&i);
if(i%3==0&&i%5==0&&i%7==0) /*判断整除的条件是取模是否等于0*/
printf("%d 可以被3,5,7整除\n",i);
else
printf("%d 不能被3,5,7整除\n",i);
return 0;
}

7.编写按收入计算税费的程序。
#include<stdio.h>
int main(void)
{
int x;
double y;
scanf("%d",&x);
if(x<=800)
y=0;
else if(x>800&&x<=1200)
y=(double)(x-800)*5/100;
else if(x>1200&&x<=2000)
y=(double)(x-1200)*8/100;
else
y=(double)(x-2000)*20/100;
printf("%d 税费 %lf\n",x,y);
return 0;
}

8.while循环结构编程练习--编写程序解决如下问题,假定
2012年中国人口为13.39724852亿,如果以每年1.4%的速
度增长,多少年后中国人口达到或超过20亿。
#include<stdio.h>
int main(void)
{
double x;
int i;
i=0;
x=13.39724852;
while(x<20)
{
x=x*(1+1.4/100);
i++;
}
printf("%d 年后中国人口达到或超过20亿\n",i);
return 0;
}

9.编写程序,求累加和1+2+3+…..+n.并输出,n由用户输入
#include<stdio.h>
int main(void)
{
int n,i,sum;
sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum+i;
printf("1+2+3+…..+%d = %d\n",n,sum);
return 0;
}

10.
/*
while循环结构编程练习——计算需要存款多少年定期存款本金和利息利之和
才达到额定数额500000。要求银行定期存款的年利率由用户输入,年利率用变量
rate存放;存款本金由用户输入,本金用变量capital存放,单位为元;用户输入
打算存款的时间(以年为单位),用变量n存放存款年限,试编程计算多少年后年
后的本金和利息之和达到500000元,本金和利息之和用变量deposit存放。如果用
户一次性存款超过了500000元,输出“你已是一次性存款超过50万的大客户”和
用户输入的存款年限到期后的本金和利息之和。
*/
#include<stdio.h>
int main(void)
{
double rate,capital,deposit;
int n,i,flag=1;
printf("输入存款利率,存款本金,存款年限: ");
scanf("%lf%lf%d",&rate,&capital,&n);
deposit=capital;
if(capital>=500000)
printf("你已是一次性存款超过50万的大客户\n");
else
{
i=0;

while(deposit<500000)
{
deposit=deposit*(1+rate/100);
i++;
}
}
printf("%d 年后 本金和利息之和达到500000\n",i);
deposit=capital;
for(i=1;i<=n;i++)
{
deposit=deposit*(1+rate/100);
}
printf("%d 年后 本金和利息之和 %.2lf\n",n,deposit);

return 0;
}
qscorpius_fly
2014-06-05 · TA获得超过1858个赞
知道小有建树答主
回答量:811
采纳率:80%
帮助的人:303万
展开全部
#include<stdio.h>
void sort(int a[])
{
int i,j,temp;
for(j=0;j<9;j++)
{
for (i=0;i<9-j;i++)
if (a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
int binary(int a[],int k)
{
int hig,low,mid;
low=0,hig=9;
while(low<=hig)
{
mid=(low+hig)/2;
if(k<a[mid])
hig=mid-1;
else if(k>a[mid])
low=mid+1;
else return mid;
}
}
int main ()
{
int i,k,a[10];
printf("请输入数组a(10个数):");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a);
printf("请输入要查找的数:");
scanf("%d",&k);
printf("%d在数组a的第%d个单元\n",k,binary(a,k));
return 0;
}
改过可运行
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式