else
return f(m-1)+f(m-2); }
46.按以下规律翻译密码:
将每一个字母变成它后面的字母,例如,将A变成B,B变成C,?,Z变成A,非字母字符不变,“!”作为电文结束标志。 #include
printf(\输入字符串:\\n\ while ((ch=getchar())!='!') {
if ((ch>='a' && ch<='z')||(ch>='A' && ch<='Z')) if (ch=='z') ch='a'; else if (ch=='Z') ch='A'; else ch=ch+1;
printf(\ }
printf(\
}
47.百元买百鸡问题:公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种买法。 #include
int a,b,c,n=0;
for (a=0;a<=20;a++) for (b=0;b<=33;b++) for (c=0;c<=100;c++) if (5*a+3*b+c==100) n++; printf(\一共有%d种\\n\}
48.使用数组编程,计算出前20项fibonacci数列,要求一行打印5个数。 #include
int n,i=0;
for (n=1;n<21;n++) {
printf (\ i++;
if (i%5==0) printf(\ } }
long f(int m) {
if (m==0) return 0; if (m==1) return 1; else
return f(m-1)+f(m-2); }
49.编程序求出两个3*4矩阵的和并将原矩阵和求出的和矩阵按原矩阵的形式分别输出。 #include
int a[3][4],b[3][4],s[3][4],n,m; printf(\输入数组A:\\n\ for (n=0;n<3;n++) {
printf(\第%d行\\n\ for (m=0;m<4;m++) scanf (\
-); }
printf(\输入数组B:\\n\ for (n=0;n<3;n++) {
printf(\第%d行\\n\ for (m=0;m<4;m++) scanf (\ -);
}
for (n=0;n<3;n++) {
for (m=0;m<4;m++) s[n]
-=a[n]
-+b[n] -; }
printf(\原数组A:\\n\ for (n=0;n<3;n++) {
for (m=0;m<4;m++) printf(\ -);
printf(\ }
printf(\
printf(\原数组B:\\n\ for (n=0;n<3;n++) {
for (m=0;m<4;m++) printf(\
-);
printf(\ }
printf(\
printf(\所得数组:\\n\ for (n=0;n<3;n++) {
for (m=0;m<4;m++) printf(\ -);
printf(\ } }
50.将一个4*3的矩阵转置,并将原矩阵和求出的转置矩阵按原矩阵的形式分别输出。 #include
{
int a[4][3],b[4][3],s[4][3],n,m; printf(\输入数组A:\\n\ for (n=0;n<4;n++) {
printf(\第%d行\\n\ for (m=0;m<3;m++) scanf (\ -);
}
printf(\输入数组B:\\n\ for (n=0;n<4;n++) {
printf(\第%d行\\n\ for (m=0;m<3;m++) scanf (\ -);
}
for (n=0;n<4;n++) {
for (m=0;m<3;m++) s[n]
-=a[n]
-+b[n] -;
}
printf(\原数组A:\\n\ for (n=0;n<4;n++) {
for (m=0;m<3;m++) printf(\
-);
printf(\ }
printf(\
printf(\原数组B:\\n\ for (n=0;n<4;n++) {
for (m=0;m<3;m++) printf(\ -);
printf(\
}
printf(\
printf(\所得数组:\\n\ for (n=0;n<4;n++) {
for (m=0;m<3;m++) printf(\ -);
printf(\ } }
51.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是小写字母,则把它变成大写字母;其它字符不变,请编程。 #include
char ch;
ch=getchar();
if ((ch>=65)&&(ch<=90)) ch=ch+32; else if ((ch>=97)&&(ch<=122)) ch=ch-32; printf(\}
52.已知x和y存在下列对应关系,要求对输入的每个x值,计算出y值,请编程。 y=x*(x+2),2
float x,y;
printf(\输入X值:\ scanf(\ if (x<=-1) {
y=x-1;
printf (\ }
else if (x<=2) {
y=2*x;
printf (\ }
else if (x<=10)