模拟练习3
问题 A: 水仙花数
输入要求
输出要求
假如输入
100 120
300 400
121 200
应当输出
no
370 371
153
提示 while (scanf_s("%d%d",&m,&n)!=EOF)
问题 B: 斐波那契数求解
题目描述
著名意大利数学家斐波那契(Fibonacci)1202年提出一个有趣的问题。
某人想知道一年内一对兔子可以生几对兔子。他筑了一道围墙,把一对大兔关在其中。已知每对大兔每个月可以生一对小兔,而每对小兔出生后第三个月即可成为“大兔”再生小兔。问一对小兔一年能繁殖几对小兔?
输入要求
输出要求
对于输入的n,求第n个月新增的兔子对数。当n=0时输入结束,该数据不作处理。
假如输入
16
0
应当输出
987
问题 C: C二级辅导-进制转换
编程,输入一个10进制正整数,然后输出它所对应的八进制数。输入0表示测试结束。
输入要求
输出要求
假如输入
10
0
应当输出
12
问题 D: C二级辅导-温度转换
输入一个华氏温度,要求输出摄氏温度。公式为
保留两位小数
输入要求
输出要求
假如输入
-40
应当输出
-40.00
#include<stdio.h> int main(void) { double f; double c; scanf("%lf",&f); c=5*(f-32)/9; printf("%.2f\n",c); return 0; }
问题 F: C二级辅导-分段函数
有一个函数如下,写一程序,输入x,输出y值。
#include<stdio.h> int main(void) { double x,y; scanf("%lf",&x); if(x<1){ y=x; } else if(x>=10){ y=3*x-11; } else{ y=2*x-1; } printf("%.2f\n",y); return 0; } /*******************************
问题 E: C二级辅导-求偶数和
编制程序,输入n个整数(n从键盘输入,n>0),输出它们的偶数和。
输入要求
输出要求
假如输入
2
1 2
应当输出
2
#include<stdio.h> int main(void) { int n,x,i; int sum; sum=0; scanf("%d",&n); for(i=1;i<=n;i++){ scanf("%d",&x); if(i%2==0){ sum=sum+x; } } printf("%d\n",sum); return 0; }
问题 G: C二级辅导-等差数列
sum=2+5+8+11+14+…,输入正整数n,求sum的前n项和。
#include<stdio.h> int main(void) { int n,i,x; int sum; sum=0; scanf("%d",&n); for(i=1;i<=n;i++){ x=3*i-1; sum=sum+x; } printf("%d\n",sum); return 0; }
问题 H: C二级辅导-计负均正
从键盘输入任意20个整型数,统计其中的负数个数并求所有正数的平均值。
保留两位小数
输入要求
输出要求
假如输入
1 2 3 4 5 6 7 8 9 10
-1 -2 -3 -4 -5 -6 -7 -8 -9 -10
应当输出
10
5.50
#include<stdio.h> int main(void) { int x,i,y,z; double a,sum; sum=0; y=0; z=0; for(i=1;i<=20;i++){ scanf("%d ",&x); if(x<0){ y=y+1; } if(x>0){ z=z+1; sum=sum+x; } a=sum/z; } printf("%d\n",y); printf("%.2f",a); return 0; }
问题 I: C二级辅导-公约公倍
输入两个正整数m和n,求其最大公约数和最小公倍数。
输入要求
输出要求
假如输入
2 3
应当输出
1
6
#include<stdio.h> int main(void) { int m,n; int r,x,t; scanf("%d %d",&m,&n); x = m*n; if (m<n) { t=m; m=n; n=t; } while (n!=0) { r=m%n; m=n; n=r; } printf("%d\n",m); printf("%d\n",x/m); return 0; }
问题 J: C二级辅导-统计字符
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
输入要求
输出要求
假如输入
a 1,
应当输出
1
1
1
1
#include<stdio.h> int main(void) { int letter,digit,other,blank; char ch; letter=digit=other=blank=0; while((ch=getchar())!='\n') if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) letter++; else if(ch>='0'&&ch<='9') digit++; else if(ch==' ') blank++; else other++; printf("%d\n",letter); printf("%d\n",blank); printf("%d\n",digit); printf("%d\n",other); return 0; }
问题 K: 2003年秋浙江省计算机等级考试二级C 编程题(2)
输入两个正整数m和n(m<n),求m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。
输入要求
m n
输出要求
素数和
假如输入
2 3
应当输出
5
#include<stdio.h> int isprime(int a); int main(void) { int m,n,sum=0,a; scanf("%d %d",&m,&n); for (a=m;a<=n;a++){ sum=sum+isprime(a); } printf("%d\n",sum); return 0; } int isprime(int a) { int i; int result=0; for (i=2;i<=a/2;i++) if (a%i==0) break; if(i>a/2&&a!=1) result=a; return result; }
问题 L: 2004年秋浙江省计算机等级考试二级C 编程题(1)
输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。
输入要求
十个数
输出要求
交换后的十个数
假如输入
10 2 30 40 50 60 70 80 90 100
应当输出
10 100 30 40 50 60 70 80 90 2
#include<stdio.h> #include<math.h> int main(void) { int i,min; int temp; int a[10]; for(i=0;i<10;i++) scanf("%d",&a[i]); min=0; for(i=1;i<10;i++) if(fabs(a[i])<fabs(a[min])) min=i; temp=a[min]; a[min]=a[9]; a[9]=temp; for(i=0;i<10;i++) printf("%d ",a[i]); return 0; }
问题 M: 2004年秋浙江省计算机等级考试二级C 编程题(2)
输入一个正数x和一个正整数n,求下列算式的值。要求顶一个调用2个函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double。
x - x2/2! + x3/3! + ... + (-1)n-1xn/n!
×输出保留4位小数。
输入要求
x n
输出要求
数列和
假如输入
2.0 3
应当输出
1.3333
#include<stdio.h> double fact(int n); #include<math.h> int main(void) { double x,z; int n,i,y; double sum=0; y=1; scanf("%lf %d",&x,&n); for(i=1;i<=n;i++){ z=y*pow(x,i)/fact(i); sum=sum+z; y=-y; } printf("%.4f\n",sum); return 0; } double fact(int n) { int i; double m; m=1; for(i=1;i<=n;i++){ m=m*i; } return m; }
问题 N: 2005年春浙江省计算机等级考试二级C 编程题(1)
题目描述
输入x ,计算并输出下列分段函数 f(x) 的值。可以调用数学库函数:平方根函数sqrt(),绝对值函数fabs() 和幂函数 pow()。
保留2位小数
输入要求
x
输出要求
f(x)
假如输入
5
应当输出
15.00
#include<stdio.h> #include<math.h> int main(void) { double x,y; scanf("%lf",&x); if(x<0){ y=fabs(x); } else if(x>=0&&x<2){ y=pow((x+1),0.5); } else if(x>=2&&x<4){ y=pow((x+2),5); } else{ y=2*x+5; } printf("%.2f",y); return 0; }