您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 计算机二级C语言题库之程序填空
计算机二级C语言题库之程序填空找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1#include<stdio.h>#include<math.h>voidmain(){inti,a,b,c;for(i=100;i<=999;i++){a=i/100;_______1_______//b=i%100/10;c=i%10;if(________2________)//a*a*a+b*b*b+c*c*c==iprintf("%disaArmstrongnumber!\n",i);}}输入1个整数后,输出该数的位数。(例:输入3214则输出4,输入-23156则输出5)。#include<stdio.h>voidmain(){intn,k=0;scanf("%d",&n);while(_____1_____){//n!=0k++;_____2_____;//n=n/10}printf("%d\n",k);}求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。#include<stdio.h>#include<math.h>voidmain(){intn,s=0;scanf("%d",&n);______1______//if(n<0)n=-n;while(n!=0){______2______//s+=n%10;n=n/10;}printf("%d\n",s);}调用函数f,将一个整数首尾倒置。例如:若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。#include<stdio.h>#include<math.h>longf(longn){longm,y=0;m=fabs(n);while(m!=0){y=y*10+m%10;____1____//m=m/10;}if(n>=0)returny;else_____2_____//return-y;}voidmain(){printf("%ld\t",f(12345));printf("%ld\n",f(-34567));}调用函数f,从字符串中删除所有的数字字符。#include<stdio.h>#include<string.h>#include<ctype.h>voidf(char*s){inti=0;while(s[i]!='\0'){if(isdigit(s[i]))____1____(s+i,s+i+1);//strcpy___2___i++;}//else}voidmain(){charstr[80];gets(str);f(str);puts(str);}调用find函数在输入的字符串中查找是否出现"the"这个单词。如果查到返回出现的次数,如果未找到返回0。#include<stdio.h>intfind(char*str){char*fstr="the";inti=0,j,n=0;while(str[i]!='\0'){for(______1______)//j=0;j<3;j++if(str[j+i]!=fstr[j])break;if(______2______)n++;//j>=3i++;}returnn;}voidmain(){chara[80];gets(a);printf("%d",find(a));}输入的一个小写字母,将字母循环后移5个位置后输出。例如:"a"变成"f","w"变成"b"。#include<stdio.h>voidmain(){charc;c=getchar();if(______1______)//c>='a'&&c<='u'c=c+5;elseif(c>='v'&&c<='z')______2______//c=(c-'a'+5)%26+'a';putchar(c);}将字符串s中所有的字符'c'删除。#include<stdio.h>voidmain(){chars[80];inti,j;gets(s);for(i=j=0;______1______;i++)//s[i]!='\0'if(s[i]!='c'){s[j]=s[i];______2______//j++;}s[j]='\0';puts(s);}对x=1,2,……,10,求f(x)=x*x-5*x+sin(x)的最大值。#include<stdio.h>#include<math.h>#definef(x)x*x-5*x+sin(x)voidmain(){intx;floatmax;______1______//max=f(1);for(x=2;x<=10;x++)______2______//if(f(x)>max)max=f(x);printf("%f\n",max);}输入三个整数,按由小到大的顺序输出这三个数。#include<stdio.h>voidswap(______1______)//int*pa,int*pb{/*交换两个数的位置*/inttemp;temp=*pa;*pa=*pb;*pb=temp;}voidmain(){inta,b,c,temp;scanf("%d%d%d",&a,&b,&c);if(a>b)swap(&a,&b);if(b>c)swap(&b,&c);if(______2______)//if(a>b)swap(&a,&b);printf("%d,%d,%d",a,b,c);}调用函数f,去除数组中的负数,输入数组x[7],输出结果为:1346#include<stdio.h>//数组元素的删除voidf(int*a,int*m){inti,j;for(i=0;i<*m;i++)if(a[i]<0){for(j=i--;j<*m-1;j++)a[j]=a[j+1];_____1_____;//*m=*m-1;}}voidmain(){inti,n=7,x[7]={1,-2,3,4,-5,6,-7};_______2_______;//f(x,&n);for(i=0;i<n;i++)printf("%5d",x[i]);printf("\n");}调用函数f计算代数多项式1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x当x=1.7时的值。#include<stdio.h>floatf(float,float*,int);voidmain(){floatb[5]={1.1,2.2,3.3,4.4,5.5};printf("%f\n",f(1.7,b,5));}floatf(_______1________)//floatx,float*a,intn{floaty=a[0],t=1;inti;for(i=1;i<n;i++){t=t*x;y=y+a[i]*t;}_____2_____//returny;}分别统计字符串中英文字母、数字、和其他字符出现的次数。#include<stdio.h>#include<ctype.h>voidmain(){chara[80];intn[3]={0},i;gets(a);________1________//for(i=0;a[i]!='\0';i++){if(tolower(a[i])>='a'&&tolower(a[i])<='z')/*统计字母个数*/n[0]++;elseif(________2________)/*统计数字个数*///a[i]>='0'&&a[i]<='9'n[1]++;elsen[2]++;}for(i=0;i<3;i++)printf("%d\n",n[i]);}将输入的十进制整数n通过函数DtoH函数转换为十六进制数,并将转换结果以字符串形式输出。(例如:输入十进制数79,将输出十六进制4f。)#include<stdio.h>#include<string.h>chartrans(intx){if(x<10)return'0'+x;else_______1________//return'a'+x-10;}intDtoH(intn,char*str){inti=0;while(n!=0){________2________//str[i]=trans(n%16);n/=16;i++;}returni-1;}voidmain(){inti,k,n;char*str;scanf("%d",&n);k=DtoH(n,str);for(i=0;i<=k;i++)printf("%c",str[k-i]);}将输入的十进制正整数n通过函数Dec2Bin转换为二进制数,并将转换结果输出。#include<stdio.h>voidDec2Bin(intm){intbin[32],j;for(j=0;m!=0;j++){bin[j]=______1______;//m%2m=m/2;}for(;j!=0;j--)printf("%d",______2______);//bin[j-1]}voidmain(){intn;scanf("%d",&n);Dec2Bin(n);}数列的第1、2项均为1,此后各项值均为该项前二项之和。计算数列第30项的值。#include<stdio.h>_______1______//longf(intn);或者longf(int);voidmain(){printf("%ld\n",f(30));}longf(intn){if(______2______)//n==1||n==2return1;elsereturnf(n-1)+f(n-2);}该程序计算四位学生的平均成绩,保存在结构中,然后列表输出这些学生的信息。#include<stdio.h>structSTUDENT{charname[16];intmath;intenglish;intcomputer;intaverage;};voidGetAverage(structSTUDENT*pst)/*计算平均成绩*/{intsum=0;sum=______1______;//pst->math+pst->english+pst->computerpst->average=sum/3;}voidmain(){inti;str
本文标题:计算机二级C语言题库之程序填空
链接地址:https://www.777doc.com/doc-7073796 .html