① c编程练习题
这个问题很简单。
首先你要知道函数的参数传递的只是副本。
调用函数swap(int *p1,int *p2) ,只是对函数实参数的地址副本进行地址交换,就着这个函数来说,在交换前,p1地址是pointer_1,p2的地址是pointer_2;交换后p1地址是pointer_2,p2的地址是pointer_1,但pointer_1和pointer_2的地址还是没变还是原来的地址,通俗说,a,b形参分别拿着A、B两实参的钥匙的复印件,a、b交换了钥匙,但A、B并没有交换钥匙,这里的钥匙就是指的是地址!
如果你想让pointer_1和pointer_2的值改变,就改写swap(int *p1,int *p2)。
swap(int *p1,int *p2)
{int *p;
*p=*p1;
*p1=*p2;
*p2=*p;
}
这个函数通俗说,a,b形参分别拿着A、B两实参的钥匙的复印件打开A、B的房门将A、B俩房间里的东西对调,虽然A、B并没有交换钥匙但却交换了房间里的东西!
② c语言编程训练
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
static void guess(int number, int *count)
{
int n;
do
{
scanf("%d", &n);
if ( n > number )
{
printf("Your answer is HIGHER, try again.\n");
}else if ( n < number )
{
printf("Your answer is LOWER, try again.\n");
}
++*count;
}while ( n != number );
}
int main(int argc, char *argv[])
{
int number;
int count = 0;
srand((unsigned int) time(NULL));
while ( count < 15 )
{
number = rand()%100 + 1;
guess(number, &count);
if ( count <= 7 )
{
printf("congratulation.\n");
}
else if ( count > 7 && count <15 )
{
printf("You can do it better.\n");
}
}
printf("I can’t bare it.\n");
}
③ C语言编程练习
#includeint main(){ double s; int a[10000]; int i,n,d; while(~scanf("%d",&n)) { d=0; s=0; for(i=0; i=60) d++; printf("average = %.1lf\ncount = %d\n",s,d); } return 0;}
④ c语言编程练习题1
#include
"stdio.h"
main()
{
double
a=0,b;
int
i;
for(i=1;;i++)
{
printf("Enter
a
number:");
scanf("%lf",&b);
if(b>a)
a=b;
if(b<=0)
break;
}
if(a>=0)
printf("%lf\n",a);
}
经验证,float数据不够精确,如输入100.62,输出的却是如100.620003。所以用了更精确的double数据。希望能帮到你。
⑤ c语言编程:练习题。
#include<iostream.h>
int main()
{
int i,j,t;
int a[10],b[10];
cout<<"请输入第一个数组:"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
for(i=1;i<10;i++)
for(j=0;j<9;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
cout<<"排序后的第一个数组为:"<<endl;
for (i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;
cout<<"请输入第二个数组:"<<endl;
for(j=0;j<10;j++)
cin>>b[j];
for(i=1;i<10;i++)
for(j=0;j<9;j++)
if(b[i]<b[j])
{t=b[i];b[i]=b[j];b[j]=t;}
cout<<"排序后的第二个数组为:"<<endl;
for (i=0;i<10;i++)
cout<<b[i]<<" ";
cout<<endl;
for(i=0;i<10;i++)
a[i]=a[i]+b[i];
cout<<"两数组的和为:"<<endl;
for (i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
⑥ 请问应该怎么学好编程呢c语言好难,有什么练习方法吗
1.需要耐心
2.需要记住程序代码
3.练习的最佳方法就是去编程序 自己去编程序
4.最好的方法是你自己要把它学好 并坚持克服其中的枯燥 到最后的学成
⑦ 如何能在自己的电脑上运行C语言,自己进行简单的编程训练
当然是编译工具咯如果你想有TurboC2.0的话,去 http://www.programfan.com/的工具下载里下载。但我推荐你Dev-C++,因为它是WINDOWS操作界面,并且支持标准C语言,而且是32位的程序,即使是64位的双核CPU都可以运行。但你说的那本书里的代码却不符合标准,在这个软件又用不了,所以你要考虑一下。如果你电脑真的用不了TurboC2.0的话,可以装个虚拟机来虚拟一个DOS或WINDOWS95/98也行。
⑧ c语言编程练习
float*calcSize(floatheight,floatweight,intage)
{
floathatSize=0;//帽子尺寸
floatcoatSize=0;//上衣尺寸
floatwaistSize=0;//腰围尺寸
floatfact1=2.9;
floatfact2=0.125;
floatfact3=0.1;
floatresult[4]={0};
if(height<0||weight<0||age<0)
{
cout<<"inputerror!"<<endl;
returnNULL;
}
hatSize=(weight/height)*fact1;
coatSize=height*weight/288;
if(age>30)
{
coatSize+=fact2*((age-30)/10);
}
waistSize=weight/5.7;
if(age>28)
{
waistSize+=fact3*((age-28)/2);
}
result[0]=hatSize;
result[1]=coatSize;
result[2]=waistSize;
returnresult;
}
⑨ C语言编程练习。
三个循环,加上
if (122 * a + 212 * b + 221 * c == n)
{
}
判断条件就行
⑩ c语言编程练习题
第一个是输入半径,输出圆的直径、周长、面积
const double p = 3.14159;
void main()
{
double radius = 0;
printf("Radius of Circle:");
scanf("%lf", &radius);
printf("Diameter:%lf, Circumference:%lf, Area:%f ", 2*radius, 2*p*radius, p*radius*radius);
}
第二个是根据给定的余额和利息,计算一年以后的余额
void main()
{
double initBalance = 6000;
double interestRate = 0.0425;
printf("Interestcalculation program.\nStarting balance:%.lf Annual\ninterest rate percentage:%.4lf\n", initBalance,interestRate);
printf("One year balance:%.lf", initBalance*(1+interestRate));
}