问题 A: C语言-猴子吃桃
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
输入要求
N
输出要求
桃子总数
假如输入
10
应当输出
1534
#includeint main(void){ int n,x,y; scanf("%d",&n); x=1; while(n>1){ y=(x+1)*2; x=y; n--; } printf("%d\n",y); return 0;}
问题 B: C语言-奖金计算
#includeint main(void){ int n,y; scanf("%d",&n); if(n<=100000){ y=n*0.1; } else if(n>100000&&n<=200000){ y=100000*0.1+(n-100000)*0.075; } else if(n>200000&&n<=400000){ y=100000*0.1+100000*0.075+(n-200000)*0.05; } else if(n>400000&&n<=600000){ y=100000*0.1+100000*0.075+200000*0.05+(n-400000)*0.03; } else if(n>600000&&n<=1000000){ y=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(n-600000)*0.015; } else{ y=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(n-1000000)*0.01; } printf("%d\n",y); return 0;}
问题 C: C语言-公约公倍
假如输入
5 7
应当输出
1 35
#includeint main(void) { int m,n; int r,x,t; scanf("%d %d",&m,&n); x = m*n; if (m
问题 D: C语言-转置矩阵
#includeint main(void) { int i,j,temp; int a[3][3]; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d ",&a[i][j]); for(i=0;i<3;i++) for(j=0;j<3;j++) if(i<=j){ temp=a[i][j]; a[i][j]=a[j][i]; a[j][i]=temp; } for(i=0;i<3;i++){ for(j=0;j<3;j++) printf("%d ",a[i][j]); printf("\n"); } return 0; }
问题 E: 1999年秋浙江省计算机等级考试二级C 编程题(1)
编制程序,输入m,n(M>=n>=0)后,计算下列表达式的值并输出:
m!
n! (m-n)!
要求将计算阶乘运算的函数写为fact(n),函数返回值的类型为float
输入要求
m n
输出要求
对应表达式的值
假如输入
2 1
应当输出
2
#includefloat fact(int n);int main(void){ int x,y; float a,b,c,d; scanf("%d %d",&x,&y); b=fact(x); c=fact(y); d=fact(x-y); a=b/(c*d); printf("%.0lf\n",a); return 0;} float fact(int n) { int i; float z; z=1; for(i=1;i<=n;i++){ z=z*i; } return z; }
问题 F: 1999年秋浙江省计算机等级考试二级C 编程题(2)
题目描述
编制程序,统计文本stdin中字符$出现的次数,并将结果写入文件stdout
输入要求
字符文本
输出要求
$次数
假如输入
as$dfkjhkjkjdhfasdfkj$lskdfjwerijweirjo$wie
应当输出
3
提示
#includeint main(){ FILE *p; ..... //p=fopen("data.txt","r"); p=stdin; ..... //p=fopen("res.txt","w"); p=stdout; .... return 0; }
问题 G
编制程序,输入n个整数(n从键盘输入,n>0),输出它们的偶数和。
#includeint main(void){ int n,i,k,sum; scanf("%d\n",&n); sum=0; for(i=1;i<=n;i++){ scanf("%d ",&k); if(k%2==0) sum=sum+k; } printf("%d\n",sum); return 0;}
问题 H: 2000年秋浙江省计算机等级考试二级C 编程题(2)
题目描述
编制函数del_char
函数原型为 void del_char(char *,char),函数的功能是删除a指向的字符串中值为ch的字符,例如从字符串"AscADef"中删除'A'后,字符串为"scDef"。
输入要求
需要删除的字符ch
需要处理的字符串
输出要求
处理后的字符串
假如输入
AAscADef
应当输出
scDef
问题 I: 2001年秋浙江省计算机等级考试二级C 编程题(1)
编程,输入n后:输入n个数,根据下式计算并输出y值。
/ x2-sinx x<-2
y={ 2x+x -2<=x<=2
| ___________
\ √ X2+X+1 x>2
* 输出保留两位小数
输入要求
n
n个数
输出要求
y
假如输入
11
应当输出
3.00
#include#include int main(void){ int n,i; double x,y; scanf("%d\n",&n); for(i=1;i<=n;i++){ scanf("%lf",&x); if(x<-2){ y=x*x-sin(x); } else if(x>2){ y=sqrt(x*x+x+1); } else{ y=pow(2,x)+x; } printf("%.2f\n",y); } return 0;}
问题 J: 2001年秋浙江省计算机等级考试二级C 编程题(2)
题目描述
编制函数,其功能是在float类型一维数组中查找最大值、最小值,并将它们返回到调用程序。
* 输出保留两位小数
输入要求
n
n个浮点数
输出要求
最大值 最小值
假如输入
101.02.03.04.05.06.07.08.09.010.0
应当输出
10.00 1.00
#includeint main(void){ int n,i,row,col,j; double a[20][1]; scanf("%d\n",&n); for(i=0;i a[row][1]){ row=i; } for(j=0;j
问题 K: 2002年秋浙江省计算机等级考试二级C 编程题(1)
题目描述
输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
输入要求
一行字符
输出要求
统计值
假如输入
aklsjflj123 sadf918u324 asdf91u32oasdf/.';123
应当输出
23 16 2 4
#includeint 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 %d %d %d\n",letter,digit,blank,other); return 0;}
问题 L: 2002年秋浙江省计算机等级考试二级C 编程题(2)
输入一个正整数n.求1+1/2!+1/3!+....+1/n!
要求定义并调用函数fact(n)计算n的阶乘,函数返回值的类型是点单精度浮点型。
* 输出保留4位小数
#includedouble fact(int n);int main(void){ int k,i; double sum,item,a; sum=0; item=1; scanf("%d",&k); for(i=1;i<=k;i++){ sum=sum+item; a=fact(i+1); item=1/a; } printf("%.4f\n",sum); return 0;} double fact(int n){int b;double x;x=1;for(b=1;b<=n;b++){ x=x*b;}return x;}
问题 M: 2003年秋浙江省计算机等级考试二级C 编程题(1)
题目描述
输入10个数,求它们的平均值,并输出大于平均值的数据的个数。
输入要求
10个数
输出要求
大于平均数的个数
假如输入
1 2 3 4 5 6 7 8 9 10
应当输出
5
#includeint main(void){ int i,letter; int a[10]; double sum,x; sum=0; letter=0; x=0; for(i=0;i<10;i++){ scanf("%d ",&a[i]); sum=sum+a[i]; } x=sum/10.0; for(i=0;i<10;i++){ if(a[i]>x){ letter++; } } printf("%d\n",letter); return 0;}
问题 N
输出一张摄氏一华氏温度转换表,摄氏温度的取值区间是[-1000 C,1500C ],温度间隔50C。要求定义和调用函数 ctof(c),将摄氏温度C转换成华氏温度F,计算公式:
F = 32 + C* 9/5。
例如
c=0->f=32 c=5->f=41 c=10->f=50 c=15->f=59 c=20->f=68 c=25->f=77 c=30->f=86 c=35->f=95 c=40->f=104 c=45->f=113 c=50->f=122 c=55->f=131 c=60->f=140 c=65->f=149
#includeint main(void){ double c,f; for(c=-100;c<=150;c++){ f=32+c*9.0/5.0; printf("c=%.0f->f=%.0f\n",c,f); c=c+4; } return 0;}
问题 O:
输入一个正整数n (1≤ n ≤6),再输入一个n 行n列的矩阵,找出该矩阵中绝对值最大的元素以及它的行下标和列下标。
假如输入
21 23 4
应当输出
4 2 2
#include#include int main(void){ int n,i,j; int a[6][6]; int row=1,col=1; scanf("%d",&n); for(i=1;i<=n;i++) for(j=1;j<=n;j++) scanf("%d",&a[i][j]); for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(fabs(a[i][j])>fabs(a[row][col])){ row=i; col=j; } printf("%d %d %d\n",a[row][col],row,col); return 0;}
问题 P: 2006年春浙江省计算机等级考试二级C 编程题(1)
编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不及格(小于60)的学生人数。
#includeint main(void){ int x,y,z; x=y=z=0; double grade; scanf("%lf",&grade); while(grade>0){ if(grade<60) z++; else if(grade>=85) x++; else y++; scanf("%lf",&grade); } printf(">=85:%d\n",x); printf("60-84:%d\n",y); printf("<60:%d\n",z); return 0;}
问题 Q: 2006年春浙江省计算机等级考试二级C 编程题(2)
编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。
1+1/2+ .... +1/n!
输出保留5位小数。
#includedouble fact(int k);int main(void){ int n,i; double sum=0; scanf("%d",&n); for(i=1;i<=n;i++) sum=sum+1/fact(i); printf("sum=%.5lf\n",sum); return 0;}double fact(int k){ int i; double z; z=1; for(i=1;i<=k;i++){ z=z*i; } return z;}