其他.docx
- 文档编号:12598405
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:31
- 大小:22.73KB
其他.docx
《其他.docx》由会员分享,可在线阅读,更多相关《其他.docx(31页珍藏版)》请在冰豆网上搜索。
其他
1.2.改错题
下列给定程序中,函数fun()的功能是:
求出两个数的最大公约数,并作为函数值返回。
例如,若给num1和num2输入49和21,则输出的最大公约数为7;若给num1和num2分别输入27和81,则输出最大公约数为27。
#include
intfun(inta,intb)
{intr,t;
if(a
/**********************found***********************/
{t=a;a=b;b=t;}
r=a%b;
while(r!
=0)
{a=b;b=r;r=a%b;}
/**********************found***********************/
return(b);
}
main()
{intnum1,num2,a;
printf("Inputnum1num2:
");scanf("%d%d",&num1,&num2);
printf("num1=%dnum2=%d\n\n",num1,num2);
a=fun(num1,num2);
printf("Themaximuncommondivisoris%d\n\n",a);
}
2.1.填空题
下列给定程序中,函数fun()的功能是:
求整数x的y次方的低3位值。
例如,整数5的6次方为15625,此值的低3位值为625。
【1】
longfun(intx,inty,long*p)
{inti;
longt=1;
for(i=1;【2】;i++)
t=t*x;
*p=t;
【3】;
returnt;
}
main()
{longt,r;intx,y;
printf("\nInputxandy:
");scanf("%1d%1d",&x,&y);
t=fun(x,y,&r);
printf("\n\nx=%d,y=%d,r=%ld,last=%ld\n\n",x,y,r,t);
}
3.1.填空题
下列给定程序中,函数fun()的功能是:
从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。
在每组中,可以没有黑球,但必须要有红球和白球。
组合数作为函数值返回。
正确的组合数应该是15。
程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。
#include
intfun()
{inti,j,k,【1】;
printf("\nTheresult:
\n\n");
for(【2】;i<=3;i++)
{for(j=1;j<=5;j++)
{k=8-i-j;
if(【3】)
{sum=sum+1;
printf("red:
%4dwhite:
%4dblack:
%4d\n",i,j,k);
}
}
}
returnsum;
}
main()
{intsum;
sum=fun();
printf("sum=%4d\n\n",sum);
}
4.2.改错题.下列给定程序中函数fun()的功能是:
从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。
例如,当s中的数为7654321时,t中的数为642。
#include
#include
/**********************found***********************/
voidfun(longs,longt)
{longs1=10;
s/=10;
*t=s%10;
/**********************found***********************/
while(s<0)
{s=s/100;
*t=s%10*s1+*t;
s1=s1*10;
}
}
main()
{longs,t;
clrscr();
printf("\nPleaseenters:
");scanf("%ld",&s);fun(s,&t);
printf("Theresultis:
%ld\n",t);
}
5.2.改错题.下列给定程序中,函数fun()的功能是:
实现两个整数的交换。
例如给a和b分别输入60和65,输出为:
a=65b=60
#include
#include
/**********************found***********************/
voidfun(inta,b)
{intt;
/**********************found***********************/
t=b;b=a;a=t;
}
main()
{inta,b;
clrscr();
printf("Entera,b:
");scanf("%d%d",&a,&b);
fun(&a,&b);
printf("a=%db=%d\n",a,b);
}
6.1.填空题.以下程序可把输入的十进制数以十六进制数的形式输出。
请在横线上填上适当的内容并把横线删除,使它能得出正确的结果。
#include
main()
{
charb[17]={"0123456789ABCDEF"};
intc[64],d,i=0,base=16;
longn;
printf("Enteranumber:
\n");scanf("%ld",&n);
do{
c[i]=【1】;i++;n=n/base;}
while(n!
=0);
printf("Transmitenewbase:
\n");
for(【2】;i>=0;--i)
{d=c[i];printf("%c",b【3】);}
printf("\n");
}
7.2.改错题.下列给定的程序中,函数fun()的功能是:
计算并输出k以内最大的10个能被13或17整除的自然数之和。
K的值由主函数传入,若k的值为500,则函数的值为4622。
请改正程序中的错误,使它能得出正确的结果。
#include
#include
intfun(intk)
{intm=0,mc=0,j;
while((k>=2)&&(mc<10))
{
/**********************found***********************/
if((k%13=0)||(k%17=0))
{m=m+k;mc++;}
k--;
/**********************found***********************/
returnm;
}
main()
{clrscr();
printf("%d\n",fun(500));
}
8.1.填空题.下列给定程序中,函数fun()的功能是:
给定n个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。
例如,n=8时,输入193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763,所得平均值为195.838745,在平均值以上的实数个数应为5。
#include
#include
intfun(floatx[],intn)
intj,c=0;float【1】;
{for(j=0;j 【2】; printf("ave=%f\n",xa); for(j=0;j if(【3】) c++; returnc; } main() {floatx[100]={193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763}; clrscr(); printf("%d\n",fun(x,8)); } 9.2.改错题.下列给定程序中,函数fun()的功能是: 从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。 例如输入8名学生的成绩: 80.5607290.59851.58864.则低于平均分的学生人数为4(平均分为75.5625)。 #include #include #defineN20 intfun(float*s,intn,float*aver) {floatave,t=0.0; intcount=0,k,i; for(k=0;k /**********************found***********************/ t=s[k]; ave=t/n; for(i=0;i if(s[i] /**********************found***********************/ *aver=&ave; returncount; } main() {floats[30],aver; intm,i; clrscr(); printf("\nPleaseenterm: ");scanf("%d",&m); printf("\nPleaseenter%dmark: \n",m); for(i=0;i printf("\nThenumberofstudents: %d\n",fun(s,m,&aver)); printf("Ave=%f\n",aver); } 10.1.填空题.下列给定程序中,函数fun()的功能是: 判断一个整数m是否是素数,若是返回1,否则返回0。 在main()函数中,若fun()返回1则输出YES,若fun()返回0则输出NO! #include #include intfun(intm) {intk=2; while(k<=m【1】(m%k)) 【2】 if(【3】) return1; elsereturn0; } main() {intn; printf("\nPleaseentern: ");scanf("%d",&n); if(fun(n))printf("YES\n"); elseprintf("NO! \n"); } 11.1.填空题.下列给定程序中,函数fun()的功能是: 将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中。 高位仍在高位,低位仍在低位。 例如,当s中的数为87653142时,t中的数为8642。 #include #include voidfun(longs,long*t) {【1】; longs1=1; *t=0; while(s>0) {d=s%10; if(【2】) {*t=d*s1+*t; s1*=10; } 【3】; } } main() {longs,t; printf("\nPleaseenters: ");scanf("%ld",&s); fun(s,&t); printf("Theresultis: %ld\n",t); } 12.1.填空题.下列给定程序中,函数fun()的功能是: 求k! (求k的阶乘,且k小于13),所有阶乘的值作为函数值返回。 例如: 若k=10,则应输出3628800。 #include #include 【1】fun(intk) { if(【2】)return(k*fun(k-1)); elseif(k==0) 【3】; else return-1; } main() {intk=10; printf("%d! =%ld\n",k,fun(k)); } 13.1.填空题 下列给定程序中函数fun()的功能是: 计算n! (计算机的阶乘)。 例如,给n输入5,则输出120.000000。 #include #include doublefun(【1】) {double【2】; if(n==0) return1.0; while(n>1&&n<170) result*=n--; returnresult; } main() {intn; printf("InputN: "); scanf("%d",【3】); printf("\n\n%d! =%lf\n\n",n,fun(n)); } 14.1.填空题下列给定程序中,函数fun()的功能是: 根据输入的3个边长(整型值),判断能否构成三角形: 若能构成等边三角形,则返回3,若是等腰三角形,则返回2,若能构成三角形则返回1,若不能,则返回0。 #include #include 【1】fun(inta,intb,intc) {if(【2】) {if(a==b&&b==c) return3; elseif(a==b||b==c||a==c) return2; elsereturn1; } 【3】return0; } main() {inta,b,c,shape; printf("\nInputa,b,c: ");scanf("%d%d%d",&a,&b,&c); printf("\na=%d,b=%d,c=%d\n",a,b,c); shape=fun(a,b,c); printf("\n\nTheshape: %d\n",shape); } 1.填空题给定程序中,函数fun()的功能是: 求输入的两个数中较小的数。 例如: 输入510,结果为minis5。 #include #include intfun(intx,【1】) {intz; z=x y; return(z); } main() {inta,b,c; scanf("%d,%d\n",【3】); c=fun(a,b); printf("minis%d",c); } 2.改错题.已知一个数列从0项开始的前3项: 0,0,1,以后的各项都是其相邻的前3项之和。 下列给定的程序中,函数fun()的功能是: 计算并输出该数列前n项的和sum。 n的值通过形参传入。 例如,当n=10时,程序的输出结果应为96.000000。 #include #include doublefun(intn) { doublesum,s0,s1,s2,s; intk; sum=1.0; if(n<=2) sum=0.0; s0=0.0; s1=0.0; s2=1.0; /**********************found***********************/ for(k=4;k { s=s0+s1+s2; sum+=s; s0=s1; s1=s2; /**********************found***********************/ s2=s; returnsum; } main() { intn; clrscr(); printf("InputN="); scanf("%d",&n); printf("%f\n",fun(n)); } 1.填空题 下列给定程序中,函数fun()的功能是: 找出一个大于给定整数m且紧随m的素数,并作为函数值返回。 #include #include intfun(intm) {inti,k; for(i=【1】;;i++) {for(k=2;k<【2】;k++) if(i%k==0) break; if(k>=i) 【3】; } } main() {intn; printf("\nPleaseentern: "); scanf("%d",&n); printf("%d\n",fun(n)); } 2.改错题.下列给定程序中函数fun()的功能是: 将长整型数中每一位上为偶数的数依次逆向取出,构成一个新数放在t中。 高位在低位,低位在高位。 例如当s中的数为25846513时,t中的数为6482。 #include #include voidfun(longs,long*t) { intd; longs1=1,i=1; *t=0; while(s/i>0) i=i*10; i=i/10; while(s>0) { d=s/i; /**********************found***********************/ if(d%2! =0) { /**********************found***********************/ t=d*s1+t; s1*=10; } s=s%i; i=i/10; } } main() { longs,t; clrscr(); printf("\nPleaseenters: "); scanf("%ld",&s); fun(s,&t); printf("Theresultis: %ld\n",t); } 1.填空题.下列给定函数中,函数fun()的功能是: 统计字符串中各元音字母(即A,E,I,O,U)的个数。 注意: 字母不分大小写。 例如,输入THIsisaboot,则应输出是10220。 #include #include voidfun(char*s,intnum[5]) {intk,i=5; for(k=0;k num[k]=【1】; for(;*s;s++) {i=-1; switch(*s) {case'a': case'A': {i=0;break;} case'e': case'E': {i=1;break;} case'i': case'I': {i=2;break;} case'o': case'O': {i=3;break;} case'u': case'U': {i=4;【2】;} } if(i>=0) 【3】; } } main() {chars1[81];intnum1[5],i; printf("\nPleaseenterastring: ");gets(s1); fun(s1,num1); for(i=0;i<5;i++)printf("%d",num1[i]);printf("\n"); } 2.改错题.下列给定程序中函数fun()的功能是: 从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。 例如,当s中的数为4576235时,t中的数为4725。 #include #include /**********************found***********************/ intfun(longs,long*t) { longs1=10; *t=s%10; while(s>0) { /**********************found***********************/ s=s%100; *t=s%10*s1+*t; s1=s1*10; } } main() { longs,t; clrscr(); printf("\nPleaseenters: "); scanf("%ld",&s); fun(s,&t); printf("Theresultis: %ld\n",t); } 1.填空题。 下列给定的程序中,函数fun()的功能是: 为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。 #include #include voidfun(inta,int*b,int*c) {inti,j,d,y; for(i=3;i<=a/2;i=i+2) {【1】; for(j=2;j<=sqrt((double)i);j++) if(【2】==0)y=0; if(y==1) {d=a-i; for(j=2;j<=sqrt((double)d);j++) if(d%j==0)y=0; if(y==1) {*b=i;*c=d;} } } } main() {inta,b,c; do {printf("\nInputa: ");scanf("%d",&a);} while(【3】); fun(a,&b,&c); printf("\n\n%d=%d+%d\n",a,b,c); } 2.改错题.下列给定的程序中,函数fun()的功能是: 计算并输出k以内最大的6个能被7或11整除的自然数之和。 K的值由主函数传入,若k的值为500,则函数的值为2925。 #include #include intfun(intk) { intm=0,mc=0,j; /**********************found***********************/ while(k>=2)&&(mc<6) { /**********************found***********************/ if((k%7=0)||(k%11=0)) { /**********************found***********************/ m=k; mc++; } k--; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 其他
![提示](https://static.bdocx.com/images/bang_tan.gif)