1grade band count
#include <stdio.h>
int main(void) {
int a[20];
int i,j,n,grade,excellent=0,pass=0,fail=0;
printf("please input n equal to:");
scanf("%d",&n);
printf("a[n] equal to:");
for(i=0;i<n;i++){
scanf("%d",&a[i]);
if(a[i]<=0){
printf("exit");
break;
}
}
for(i=0;i<n;i++){
printf("%d\t",a[i]);
}
for(j=0;j<n;j++){
if(a[j]>=85){
excellent++;
}
else if(a[j]>=60){
pass++;
}
else{
fail++;
}
}
printf("excellent=%d,pass=%d,fail=%d",excellent,pass,fail);
return 0;
}

2chicken and rabbit cage
#include <stdio.h>
int main(void) {
int n;
printf("there are n feet in the cage\n");
scanf("%d",&n);
printf("there are at most %d animals in the cage\n",n/2);
if(n%4==0){
printf("there are at least %d animals in the cage\n",n/4);
}
else{
printf("there are at least %d animals in the cage\n",(n-2)/4+1);
}
return 0;
}

3compound interest method
这种利率的问题居然能利用二分法来解决,这也太离谱了。
就是利用这种无穷的思想,硬生生找一个利率出来,找不到就换一个利率,反正利率肯定大于0小于1。
不断逼近真正的利率,这种思想才是最可贵的。如果sum大于0,就表明还在欠钱,难难难,这种思维就不是人的思维。
#include <stdio.h>
#include <math.h>
int main(){
double a;
int month;
double c;
scanf("%lf %d %lf",&a,&month,&c);
double sum = a,low = 0,high = 1,mid;//月利率介于0%和100%之间,sum为欠的钱
while(fabs(sum) >= 0.00001){
sum = a;
mid = (low+high)/2;
for(int i = 0;i < month;i++){
sum = sum*(1+mid)-c;
}
if(sum > 0)//sum大于0说明利率太高,按每月还的钱来算还会欠钱
high = mid;
else
low = mid;
}
printf("%.3lf%%\n",mid*100);
return 0;
}

4考场如战场,我不但要写得好,还要写的快,这样才能拿分;时常练习很重要
#include <stdio.h>
//判断一个数是否是守型数
int main(void) {
int m,k,n;
int i=1,j=1;
printf("要判断的正整数\n");
scanf("%d",&n);
m=n;
while(m/10>=1){
m=m/10;
i++;
}
printf("n是%d位数",i);
k = n*n;
while(k/10>=1){
k=k/10;
j++;
}
printf("n*n是%d位数",j);
if(n<=3){
switch(n){
case 1:
printf("yes");
break;
case 2:
printf("no");
break;
case 3:
printf("no");
break;
}
}
else{
if(n*n%(j-i)*10==n){
printf("yes");
}
else{
printf("no");
}
}
return 0;
}

890



被折叠的 条评论
为什么被折叠?



