资源描述:
《C语言程序填空答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、填空题(一)#include#includevoidmain(){intx;/**/floatf;/**//*程序9、10行用到变量f,且用%f形式输出,应该定义为float类型*/printf("Inputaninteger:");scanf("%d",&x);f=/**/(fabs(x)-2)/(pow(x,2)+1)/**/;printf("F(x)=%f",f);}#includevoidmain(){doublepi=0;longi,sign=1;for(i=
2、1;i<=10001;i+=2)/*循环计算括号内的多项式,分母从1――10001*/{pi+=1.0*sign/i;/*pi用来累加每一项为1.0/I此外还需乘符号sign*/sign=/**/(-1)*sign/**/;/*sign用来表示每一项的符号,正负交替出现*/}pi*=/**/4*pi/**/;printf("%f",pi);}#includeintmax,min;voidfind_max_min(int*p,intn)/*地址传递,指针p指向数组的起始地址*/{int*q;max=min
3、=*p;/*循环开始前,设置max和min都为数组第一个数*/for(q=p;q**/p+n/**/;q++)/*指针q也指向数组开始,q++使得逐个向下寻找*/if(/**/max<*q/**/)max=*q;/*若找到比max还大的数,替换max*/elseif(min>*q)min=*q;}/*若找到比min还小的数,替换min*//*循环遍历数组所有元素,结束后max值为最大值min中最小值*/voidmain(){inti,num[10];printf("Input10numbers:");for(i=0;i<
4、10;i++)scanf("%d",&num[i]);find_max_min(/**/num/**/,10);/*数组名num代表数组的起始地址,可与形参*p对应*//*调用时为地址传递,数组首地址传递给指针变量p*/printf("max=%d,num=%d",max,min);}(二)#includevoidmain(){inta,b,k;intplu=/**/403/**/;for(a=1;a<10;a++)/*a可能的取值在1-9*/for(b=1;b<10;b++)/*b可能的取值在1-9*
5、/{k=/**/(a*10+b)*(b*10+a)/**/;if(k==plu)printf("A=%d,B=%d",a,b);}}#includevoidmain(){intn,a,b;/**/a=0;/*变量a赋初值,a为正数计数器,初始为0*/b=0;/*变量b赋初值,b为负数计数器,初始为0*//**/scanf("%d",&n);while(/**/n!=0/**/)/*当输入不为0时循环进行*/{if(n>0)a++;/*若输入的数大于0,正数计数器a增加1*/else/**/b++;/**
6、//*若输入的数小于0,负数计数器b增加1*/scanf("%d",&n);/*再输入一个数,返回循环*/}printf("Positiveinteger:%d,negativeinteger:%d",a,b);}#include#includeintprime(intn)/*函数prime的作用是测试其参数n是否为素数,如果是返回1不是返回0*/{intk,flag=1;/*标志位flag初始为1――素数*/for(k=2;k<=n/2+1;k++)/*循环从2-n/2+1分别被n除
7、*/if(n%k==0){flag=/**/0/**/;break;}/*若其中有一个数能被整除,说明不是素数,置标志位flag为0*/returnflag;/*函数返回标志位flag*/}voidmain(){intnum,a;do{printf("Pleaseinputanevennumber:");scanf("%d",&num);}while(num<=6
8、
9、num%2==1);/*根据题目要求,若用户输入小于6或者为奇数则不合要求重新输入*/for(a=2;a<=num/2+1;a++)if(prime(a)&&p
10、rime(/**/num-a/**/))/*根据题目要求,两个素数和为num,其中一个素数为a则另一个素数是num-a*/printf("%d=%d+%d",num,a,num-a);}(三)#include#include/**/main()/**/