复习程序1.docx
- 文档编号:6984646
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:13
- 大小:29.18KB
复习程序1.docx
《复习程序1.docx》由会员分享,可在线阅读,更多相关《复习程序1.docx(13页珍藏版)》请在冰点文库上搜索。
复习程序1
1.#include
intf(intx)
{staticy=1;
y++;
x+=y;
returnx;
}
voidmain()
{intk;
k=f(3);
printf("%d%d\n",k,f(k));
}//58
2.#include
inti;
intf(intx)
{staticintk=0;
x+=k++;
return(x);
}
main()
{i=f(f
(1));
printf(“i=%d\n”,i);
}//i=2
3.#include“string.h”
#include“stdio.h”
main()
{charch[]="abc",x[3][4];inti;
for(i=0;i<3;i++)strcpy(x[i],ch);
for(i=0;i<3;i++)printf("%s",&x[i][i]);
printf("\n");
}
//abcbcc
4.#include
main()
{charstr[][20]={"Hello","Beijing"},*p=str;
printf("%d\n",strlen(p));
}//
5.#include
voidmain()
{inta=2,b=-1,c=2;
if(a
if(b<0)
c=0;
else
c+=1;
printf(“%d\n”,c);
}//2
6.#include
voidmain()
{intu=24,v=6,w;
while(v)
{w=u%v;
u=v;
v=w;
}
printf("%d\n",u);
}//6
7.#include
voidmain()
{intnum=0;
while(num<=1)
{num++;
printf("%d\n",num);
}
}//1(换行)2
8.#include
func(inta,intb)
{inttemp=a;
a=b;b=temp;
}
main()
{intx,y;
x=10;y=20;
func(x,y);
printf("%d,%d\n",x,y);
}//10,20
9.#include
intfunc(intn)
{if(n==1)
return1;
else
return(n*func(n-1));
}
voidmain()
{intx;
x=func(4);
printf("%d\n",x);
}//24
10.#include
intm=13;
intfun2(intx,inty)
{intm=3;
return(x*y-m);
}
main()
{inta=7,b=5;
printf("%d\n",func2(a,b)/m);
}//2(题目中函数名写错了)
11.#include
main()
{inta,b,c,x;
a=b=c=0;
x=35;
if(!
a)
x--;
elseif(b);
if(c)
x=3;
else
x=4;
printf("%d\n",x);
}//4
12.#include
main()
{inti,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)
continue;
x++;
}
x++;
}
printf("x=%d\n",x);
}//x=8
13.intc;
voidchange(int*a,intb)
{--*a;
b++;
c=c+1;
}
main()
{inta=10,b=20,c=30;
change(&a,b);
printf(“%d,%d,%d”,a,b,c);
}
//10,20,30
14.intf(inta)
{intb=0;staticintc=3;
b++;c++;
printf(”%5d%5d%5d”,a,b,c);
return(a+b+c);
}
voidmain()
{inta=2,k;
for(k=0;k<3;k++)
printf(”%5d\n”,f(a));
}
15.longfib(intg)
{switch(g)
{case0:
return0;
case1:
case2:
return1;
}
return(fib(g-1)+fib(g-2));
}
main()
{longk;
k=fib(4);
printf(“k=%d\n”,k);
}
//k=3
16.Main()
{intc[]={1,3,5};
int*k=c+1;
printf("%d",*++k);
}//5
17.main()
{inti;
for(i=0;i<3;i++)
switch(i)
{case0:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);}
}//000122
18.main()
{intm=5;
if(m++>5)
printf(“%d\n”,m);
else;
printf(“%d\n”,m--);
}//6
19.main()
{
intI,j;
for(I=1;I<=5;I++)
{for(j=1;j<=5-I;j++)
printf(““);
for(j=1;j<=I;j++)
printf(“%d”,I);
printf(“\n”);
}
}
20.main()
{inta[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j)sum=sum+a[i][j];
printf("%d\n",sum);
}//27
21.main()
{inta=2,b=3,c;
c=1;
if(a>b)c=1;
elseif(a==b)c=0;
elsec=-1;
printf(“%d\n”,c);
}//-1
22.point(char*p)
{p+=3;}
main()
{charb[4]={'a','b','c','d'},*p=b;
point(p);
printf("%c\n",*p);
}//有错
23.voidmain()
{inti,x[10]={9,8,7,6,5,4,3,2,1,0},*p=x;
for(i=0;i<10;i+=2)
printf("%d",p[i]);
}//97531
24.voidmain()
{intk=4,n=0;
for(;n {n++; if(n%3! =0) continue; k--; } printf("%d,%d\n",k,n);//3,3 } 25.程序功能: 求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 #include #include voidmain() {intn,s=0; scanf("%d",&n); n=fabs(n); /********1*******/ while(n>1) { s=s+n%10; /********2******/ n=n%10; } printf("%d\n",s); } 26.程序功能: 输入1个整数后,输出该数的位数。 (例如: 输入3214则输出4,输入-23156则输出5)。 #include voidmain() {intn,k=0; scanf("3",&n); while(___4____) {k++; ___5___; } printf("%d\n",k); } 27.程序功能: 输入x和正数eps,计算多项式1-x+x*x/2! -x*x*x/3! +...的和直到末项的绝对值小于eps为止。 #include #include voidmain() {floatx,eps,s=1,t=1,i=1; scanf("%f%f",&x,&eps); do{ /*****1*****/ t=-t*x/++i; s+=t; /*****2*****/ }while(fabs(t) printf("%f\n",s); } 28.程序功能: 运行时若输入a、n分别为3、6,则输出下列表达式的值: 3+33+333+3333+33333+333333 #include voidmain() {inti,a,n;longt=0; /*********3*******/ s=0; scanf("%d%d",&a,&n); for(i=1;i<=n;i++){ /*******4******/ t=t*10+i; s=s+t; } s=s*a; printf("%ld\n",s); } 29.当运行以下程序时,从键盘键入right? #include voidmain(void) {charc; while((c=getchar())! ='? ')putchar(++c); } 30.分别统计字符串中所有英文字母中的各元音字母个数。 #include #include voidmain() {chara[80];intn[5]={0},i;gets(a); for(i=0;a[i]! ='\0';i++) /*****3*****/ switch(toupper(a[i])) {case'a': n[0]++;break; case'e': n[1]++;break; case'i': n[2]++;break; case'o': n[3]++;break; /*****4*****/ case'U': n[4]++; } for(i=0;i<5;i++)printf("%d\n",n[i]); } 31.该程序功能: 输入三个整数,按由小到大的顺序输出这三个数。 #include voidswap(______4______) {/*交换两个数的位置*/ 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(_____5_______) swap(&a,&b); printf("%d,%d,%d",a,b,c);} } 32.该程序功能: 运行时输入10个数,然后分别输出其中的最大值、最小值。 #include voidmain() {floatx,max,min;inti; /********3*******/ for(i=0;i<=10;i++){ scanf("%f",&x); /*******4********/ if(i=1){max=x;min=x;} if(x>max)max=x; if(x printf("%f,%f\n",max,min); } 33.该程序功能: 运行时输入整数n,输出n各位数字之和(如n=1308则输出12,n=-3204则输出9)。 #include #include voidmain() {intn,s=0; scanf("%d",&n); n=fabs(n); /******** (1)*******/ while(n>1) { s=s+n%10; /******** (2)******/ n=n%10; } printf("%d\n",s); } 34.将两个字符串连接起来。 #include voidmain() {chars1[80],s2[40]; inti=0,j=0; printf("\nInputthefirststring: "); scanf("%s",s1); printf("\nInputthesecondstring: "); scanf("%s",s2); while(s1[i]! ='\0') /******3******/ i+1; while(s2[j]! ='\0') /******4******/ s1[++i]=s2[++j];/*拼接字符到s1*/ s1[i]='\0'; printf("\nNewstring: %s",s1); } 35.如果运行以下程序段输入字符为“t” voidmain(void) {charc1; scanf("%c",&c1); c1=(c1>='A'&&c1<='Z')? (c1+32): c1; c1=(c1>='a'&&c1<='z')? (c1-32): c1; printf("%c",c1); } 36.若执行下面的程序时从键盘上输入3和4 main() {inta,b,s; scanf("%d%d",&a,&b); s=a; if(a s=s*s; printf("%d\n",s); } 37.输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出,例如输入”abc123+xyz.5”,输出应为”abcxyz”。 tolower函数的功能是将大写字母转换为小写字母。 #include #include #include voidmain() {charstr[256]; inti,k=0,n; gets(str); n=strlen(str); for(i=0;i /********3********/ if(tolower(str[i])<'a'||tolower(str[i])>'z') {/********4********/ str[n]=str[i];n++; } str[k]='\0'; printf("%s\n",str); } 38.下程序可判断输入的一个整数是否能被3或7整除,若能整除,输出“yes”并换行,否则输出“no”。 请填空。 #include main() {intk; printf(“Enteraintnumber: ”); scanf(“%d”,1); if_______2_________ printf(“yes\n”); else printf(“no”); } 39.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。 请填空。 intn=0,c; c=getchar(); while(___1___) {if(___2___)n++; c=getchar(); } 40.下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中,请填空。 main() {inta[2][3]={{1,2,3},{4,5,6}}; intb[3][2],i,j; printf(“arraya: \n”); for(i=0;i<=1;i++) {for(j=0;___3____;j++) {printf(“%5d”,a[i][j]); _______4________; } printf(“\n”); } printf(“arrayb: \n”); for(i=0;___5____;i++) {for(j=0;j<=1;j++) printf(“%5d”,b[i][j]); printf(“\n”); } } 41.下面程序输出两个字符串中对应相等的字符,空格处该填_______。 charx[]=”programming”; chary[]=”Fortran”; inti=0; while(x[i]! =’\0’&&y[i]! =’\0’) {if(x[i]==y[i]) printf(“%c”,_____); i++; } 42.下面程序运行后,如果从键盘上输入1298 main() {intn1,n2; scanf("%d",&n2); while(n2! =0) {n1=n2%10; n2=n2/10; printf("%d",n1);} } 43.下面这个程序的功能是将字符串s中所有的字符c删除。 #include main() {chars[80]; inti,j ; printf("Pleaseenterstrings: "); gets(s) ; for(i=j=0;___(4)____ ;i++) { if(s[i]! =’c’)___(5)____; } s[j]=’\0’; puts(s); } 44.以下程序的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。 请填空。 #include age(intn) {intc; if(n==1)__ (1)____; elsec=__ (2)_____; return(c); } main() {intn=5; printf(“age: %d\n”,____(3)__); } 45.以下程序的功能为: 由键盘输入一个正整数,将输入的数倒过来输出。 程序中"____N____"是根据程序功能需要填充部分,请完成程序填充。 #include main() {inta,r; while (1) {do /*输入大于0的正整数*/ {printf(“inputaninteger;”); scanf(“%d”,&a); }while(a<=0); printf(“thereverseis”); while(a! =0) /*将正整数倒过来输出*/ {r=___1_____%10;} a=_______2_________; printf(“%d”,r); } printf(“\n\n”); } } 46.以下程序可输出所有的水仙花数。 (提示: 所谓水仙花数是指一个三位正整数,其各位数字的立方之和等于该正整数。 例如: 407=4*4*4+0*0*0+7*7*7,故407是一个水仙花数。 )请填空。 main() {intx,y,z,m; printf(“Thespecialnumbersare(inthearrangeof1000): \n”); for(1;m++) {x=m/100; y=2; z=m%10; if(3) printf(“%d”,m);} } 47.以下程序运行时若从键盘输入: 102030<回车> #include"stdio.h" main() {inti=0,j=0,k=0; scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",i,j,k); } 48.整数1到5分别是语文(chinese)、数学(math)、英语(English)、物理(physics)、化学(chemistry)五门课程的编号。 本程序读入一个编号n,输出对应的课程名。 程序中"____N____"是根据程序功能需要填充部分,请完成程序填充。 #include“stdio.h” voidmain() {intn; scanf(“%d”,___3___); switch(n) {case1: printf(“chinese\n”);break; _4___: printf(“math\n”);break; case3: printf(“English\n”);break; case4: printf(“physics\n”);break; case5: printf(“chemistry\n”);break; __5__: printf(“ERROR! \n”); } } 49.执行下面的程序后,a的值为______。 main() {inta,b; for(a=1,b=1;a<=100;a++) {if(b>=20)break; if(b%3==1) {b+=3; continue;} b-=5; } } 50.仔细阅读下列程序段,写出函数的功能。 doubleabstr(doublex) {if(x<0.0)e=-x; elsex=x; return(x);}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习 程序