编程题答案.docx
- 文档编号:7954022
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:31
- 大小:21.10KB
编程题答案.docx
《编程题答案.docx》由会员分享,可在线阅读,更多相关《编程题答案.docx(31页珍藏版)》请在冰豆网上搜索。
编程题答案
第一部分
1.设计一函数,判断某一年是否是闰年。
如果给定的年份能被4整除但不能被100整除或者年份能被400整除的是闰年,闰年的2月比平年的2月多一天。
#include"stdio.h"
//////以下是函数
intfun(intyear)
{
if(year%4==0&&year%100!
=0||year%400==0)
return1;
else
return0;
}
//////以上是函数
main()
{
inta;
printf("请输入年\n");
scanf("%d",&a);
if(fun(a)==1)
printf("是");
else
printf("不是");
}
2.设计一函数,对于给定的一个百分制成绩,输出相应的五分制成绩。
设:
90分以上为‘A’;80~89分为‘B’;70~79分为‘C’;60~69分为‘D’;60分以下为‘E’。
#include"stdio.h"
//////以下是函数
voidfun(floatcj)
{
if(cj>=90)
printf("A");
elseif(cj>=80)
printf("B");
elseif(cj>=70)
printf("C");
elseif(cj>=60)
printf("D");
else
printf("E");
}
//////以上是函数
main()
{
floata;
printf("请输入成绩\n");
scanf("%f",&a);
fun(a);
}
3.设计一函数,对输入的字符串,统计其中字母个数,数字个数、空格个数及其它符号个数。
#include"stdio.h"
//////以下是函数
voidfun(char*s)
{
intzm=0,sz=0,kg=0,qt=0;
for(;*s!
='\0';s++)
{
if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')
zm++;
elseif(*s>='0'&&*s<='9')
sz++;
elseif(*s=='')
kg++;
else
qt++;
}
printf("字母个数:
%d\n",zm);
printf("数字个数:
%d\n",sz);
printf("空格个数:
%d\n",kg);
printf("其他符号个数:
%d\n",qt);
}
//////以上是函数
main()
{
chara[200];
printf("请输入字符串\n");
gets(a);
fun(a);
}
4.设计一函数,实现对分段函数的计算。
#include"stdio.h"
//////以下是函数
floatfun(floatx)
{
if(x>=0)
returnx*x-1;
else
return2*x*x*x-x+1;
}
//////以上是函数
main()
{
floatx;
printf("请输入x\n");
scanf("%f",&x);
printf("%f\n",fun(x));
}
5.设计一函数,对输入的整数n判断其是奇数还是偶数,如果是奇数返回值1,偶数返回值2
#include"stdio.h"
//////以下是函数
intfun(intn)
{
if(n%2==0)
return2;
else
return1;
}
//////以上是函数
main()
{
intn;
printf("请输入n\n");
scanf("%d",&n);
printf("%d\n",fun(n));
}
6.设计一函数,函数功能是返回两个整数中大的值
#include"stdio.h"
//////以下是函数
intfun(inta,intb)
{
if(a>b)
returna;
else
returnb;
}
//////以上是函数
main()
{
inta,b;
printf("请输入a,b\n");
scanf("%d%d",&a,&b);
printf("%d\n",fun(a,b));
}
7.设计一函数,函数的功能是判断形参字符是否为字母,如果是小写字母则转换为对应的大写字母,如果大写字母则转换为对应的小写字母,其它字符不转换,函数不返回值。
#include"stdio.h"
//////以下是函数
voidfun(char*c)
{
if(*c>='a'&&*c<='z')
*c=*c-32;
elseif(*c>='A'&&*c<='Z')
*c=*c+32;
}
//////以上是函数
main()
{
chara;
printf("请输入c\n");
scanf("%c",&a);
fun(&a);
printf("%c",a);
}
第二部分
1.设计一函数,函数功能用于实现返回1到n(n是整数,形参)的和
#include"stdio.h"
//////以下是函数
longfun(intn)
{
inti;
longs=0;
for(i=1;i<=n;i++)
s=s+i;
returns;
}
//////以上是函数
main()
{
intn;
printf("请输入n\n");
scanf("%d",&n);
printf("%ld",fun(n));
}
2.设计一函数,函数功能用于实现判断整数n(形参)是否为素数
#include"stdio.h"
//////以下是函数
intfun(intn)
{
inti;
for(i=2;i<=n-1;i++)
if(n%i==0)
break;
if(i==n)
return1;
else
return0;
}
//////以上是函数
main()
{
intn;
printf("请输入n\n");
scanf("%d",&n);
if(fun(n)==1)
printf("是");
else
printf("不是");
}
3.设计一函数,函数功能用于返回整数m与n的最大公约数。
(用while语句实现)
#include"stdio.h"
//////以下是函数
intfun(intm,intn)
{
intr;
if(m { r=m; m=n; n=r; } r=m%n; while(r! =0) { m=n; n=r; r=m%n; } returnn; } //////以上是函数 main() { inta,b; printf("请输入ab\n"); scanf("%d%d",&a,&b); printf("%d\n",fun(a,b)); } 4.设计一函数,函数功能用于返回整数m与n的最大公约数。 (用do语句实现) #include"stdio.h" //////以下是函数 intfun(intm,intn) { intr; if(m { r=m; m=n; n=r; } do { r=m%n; m=n; n=r; } while(r! =0); returnm; } //////以上是函数 main() { inta,b; printf("请输入ab\n"); scanf("%d%d",&a,&b); printf("%d\n",fun(a,b)); } 5.设计一函数,函数功能用于返回整数m与n的最大公约数。 (用递归语句实现) #include"stdio.h" //////以下是函数 intfun(intm,intn) { if(m%n==0) returnn; else fun(n,m%n); } //////以上是函数 main() { inta,b; printf("请输入ab\n"); scanf("%d%d",&a,&b); printf("%d\n",fun(a,b)); } 6.设计一函数,函数功能用于返回表达式s=1+1/(1*2)+1/(2*3)+1/(3*4)+...+1/(n*(n+1))前n项和的值。 #include"stdio.h" //////以下是函数 doublefun(intn) { doubles=1; inti; for(i=1;i<=n;i++) { s=s+1.0/(i*(i+1)); } returns; } //////以上是函数 main() { intn; printf("请输入n\n"); scanf("%d",&n); printf("%lf\n",fun(n)); } 7.设计一函数,函数功能用于返回表达式s=1-1/3+1/5-1/7+...的前n项和 #include"stdio.h" //////以下是函数 doublefun(intn) { doubles=0; inti,t=1; for(i=1;i<=n;i++) { s=s+t*1.0/(2*i-1); t=-t; } returns; } //////以上是函数 main() { intn; printf("请输入n\n"); scanf("%d",&n); printf("%lf\n",fun(n)); } 8.设计一函数,函数功能实现求表达式s=1! +2! +...+n! 返回s的值 #include"stdio.h" //////以下是函数 longfun(intn) { longs=0,s1=1; inti; for(i=1;i<=n;i++) { s1=s1*i; s=s+s1; } returns; } //////以上是函数 main() { intn; printf("请输入n\n"); scanf("%d",&n); printf("%d\n",fun(n)); } 9.设计一函数fun,函数功能实现统计可以用数字0至n组成多少个没有重复数字的三位偶数的个数,n>=2且n<=9,n在主函数中输入,并通过形参传递给fun函数。 #include"stdio.h" //////以下是函数 intfun(intn) { longcount=0; inti,a,b,c,num; num=100*n+10*n+n; for(i=100;i { a=i/100; b=(i/10)%10; c=i%10; if(a! =b&&a! =c&&b! =c) count++; } returncount; } //////以上是函数 intmain() { intn,cnt; scanf("%d",&n); cnt=fun(n); printf("符合条件的个数=%d\n",cnt); return0; } 第三部分 1.设计一函数,函数功能实现返回一个包含n个元素的数组的最大值 #include"stdio.h" //////以下是函数 intfun(intarr[],intn) { intmax,i; max=arr[0]; for(i=0;i { if(arr[i]>max) max=arr[i]; } returnmax; } //////以上是函数 main() { inta[]={3,56,7,4,3}; printf("%d\n",fun(a,5)); } 2.设计一函数,函数功能实现返回一个包含n个元素的数组的最小值 #include"stdio.h" //////以下是函数 intfun(intarr[],intn) { intmin,i; min=arr[0]; for(i=0;i { if(arr[i] min=arr[i]; } returnmin; } //////以上是函数 main() { inta[]={3,56,7,4,3}; printf("%d\n",fun(a,5)); } 3.设计一函数,函数功能实现返回一个包含n个元素的数组的所有元素和。 #include"stdio.h" //////以下是函数 longfun(intarr[],intn) { inti; longs=0; for(i=0;i s=s+arr[i]; returns; } //////以上是函数 main() { inta[]={3,56,7,4,3}; printf("%d\n",fun(a,5)); } 4.设计一函数,函数功能实现返回一个包含n个元素的数组的所有元素的平均值 #include"stdio.h" //////以下是函数 floatfun(intarr[],intn) { inti; floats=0; for(i=0;i s=s+arr[i]; returns/n; } //////以上是函数 main() { inta[]={3,56,7,4,3}; printf("%f\n",fun(a,5)); } 5.设计一函数,函数功能实现对一个包含n个元素的数组按升序排序(选择排序) #include"stdio.h" //////以下是函数 voidfun(intarr[],intn) { inti,t,j,tmp; for(i=0;i<=n-2;i++) { t=i; for(j=i+1;j<=n-1;j++) if(arr[j] t=j; tmp=arr[i]; arr[i]=arr[t]; arr[t]=tmp; } } //////以上是函数 main() { inti,a[]={3,56,7,4,3}; fun(a,5); for(i=0;i<5;i++) printf("%d",a[i]); } 6.一个包含n个元素的数组按升序排序(冒泡排序) #include"stdio.h" //////以下是函数 voidfun(intarr[],intn) { inti,j,tmp; for(i=1;i<=n-1;i++) { for(j=0;j<=n-2;j++) if(arr[j]>arr[j+1]) { tmp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=tmp; } } } //////以上是函数 main() { inti,a[]={3,56,7,4,3}; fun(a,5); for(i=0;i<5;i++) printf("%d",a[i]); } 7.设计一函数,函数功能实现统计一个数值型数组中奇数的个数n,函数返回n。 #include"stdio.h" //////以下是函数 intfun(intarr[],intn) { ints=0,i; for(i=0;i<=n-1;i++) { if(arr[i]%2==1) s++; } returns; } //////以上是函数 main() { inti,a[]={3,56,7,4,3}; printf("%d",fun(a,5)); } 8.设计一函数,函数功能是求形参数组中偶数元素的和s,函数返回s #include"stdio.h" //////以下是函数 intfun(intarr[],intn) { ints=0,i; for(i=0;i<=n-1;i++) { if(arr[i]%2==0) s=s+arr[i]; } returns; } //////以上是函数 main() { inti,a[]={3,6,7,4,3}; printf("%d",fun(a,5)); } 9.设计一函数,函数功能实现统计数组中小于0的元素个数n,函数返回值n。 #include"stdio.h" //////以下是函数 intfun(intarr[],intn) { ints=0,i; for(i=0;i<=n-1;i++) { if(arr[i]<0) s++; } returns; } //////以上是函数 main() { inti,a[]={3,6,-7,4,-3}; printf("%d",fun(a,5)); } 10.设计一函数,函数功能实现将一个十进制数转换为对应的二进制数。 #include"stdio.h" //////以下是函数 voidfun(intn) { inta[30],i=0; while(n/2! =0) { a[i]=n%2; n=n/2; i++; } a[i]=n%2; for(;i>=0;i--) printf("%d",a[i]); } //////以上是函数 main() { inta=4; fun(a); } 11.设计一函数,函数功能实现将一个十进制数转换为对应的八进制数 #include"stdio.h" //////以下是函数 voidfun(intn) { inta[30],i=0; while(n/8! =0) { a[i]=n%8; n=n/8; i++; } a[i]=n%8; for(;i>=0;i--) printf("%d",a[i]); } //////以上是函数 main() { inta=14; fun(a); } 12.设计一函数,函数功能实现将一个十进制数转换为对应的十六进制数 #include"stdio.h" //////以下是函数 voidfun(intn) { inta[30],i=0; while(n/16! =0) { a[i]=n%16; n=n/16; i++; } a[i]=n%16; for(;i>=0;i--) { if(a[i]==10) printf("%c",'A'); elseif(a[i]==11) printf("%c",'B'); elseif(a[i]==12) printf("%c",'C'); elseif(a[i]==13) printf("%c",'D'); elseif(a[i]==14) printf("%c",'E'); elseif(a[i]==15) printf("%c",'F'); else printf("%d",a[i]); } } //////以上是函数 main() { inta=32; fun(a); } 13.设计一函数,函数功能实现将形参数组中的元素按绝对值从小到大排序 #include"stdio.h" #include"math.h" //////以下是函数 voidfun(intarr[],intn) { inti,t,j,tmp; for(i=0;i<=n-2;i++) { t=i; for(j=i+1;j<=n-1;j++) if(abs(arr[j]) t=j; tmp=arr[i]; arr[i]=arr[t]; arr[t]=tmp; } } //////以上是函数 main() { inti,a[]={-3,10,-7,4,5}; fun(a,5); for(i=0;i<5;i++) printf("%d",a[i]); } 14.设计一函数,函数功能实现将形参数组中的元素的奇数位从小到大排序 #include"stdio.h" //////以下是函数 voidfun(intarr[],intn) { inti,t,j,tmp; for(i=0;i<=n-2;i=i+2) { t=i; for(j=i+2;j<=n-1;j=j+2) if(arr[j] t=j; tmp=arr[i]; arr[i]=arr[t]; arr[t]=tmp; } } //////以上是函数 main() { inti,a[]={13,10,-7,4,5}; fun(a,5); for(i=0;i<5;i++) printf("%d",a[i]); } 15.设计一函数,函数功能实现将形参数组中的元素的偶数位从大到小排序 #include"stdio.h" //////以下是函数 voidfun(intarr[],intn) { inti,t,j,tmp; for(i=1;i<=n-2;i=i+2) { t=i; for(j=i+2;j<=n-1;j=j+2) if(arr[j]>arr[t]) t=j; tmp=arr[i]; arr[i]=arr[t]; arr[t]=tmp; } } //////以上是函数 main() { inti,a[]={13,10,-7,40,5}; fun(a,5); for(i=0;i<5;i++) printf("%d",a[i]); } 16.设计一函数,函数功能查找整型形参数组中有无整数n,如果有函数返回值1,没有返回值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 答案