编程练习题

1.级数求和

#include<stdio.h>
int main(){
	int k,n;
	double sn=0.0;
	scanf("%d",&k);
	for(n=1;;n++){
	 sn+=1.0/n;
	 if(sn>k*1.0)
	  break;
    }
	printf("%d",n);
	return 0;
}

2.陶陶摘苹果

#include <stdio.h>
int main(){
    int i,h,H;
    int a[20];
    for(i=0;i<10;i++){
        scanf("%d",&a[i]);
    }
    scanf("%d",&h);
    H=h+30;
    int s=0;
    for(i=0;i<10;i++){
        if(h>=a[i]||H>=a[i]){
            s++;
        }
    }
    printf("%d",s);
    return 0;
}

3.校门外的树

 

#include<stdio.h>                      
int main()                             
{                                      
    int L,M;//L道路长度M代表区域数目    
    int i,initial,end,l=0,nb=0;       
    scanf("%d%d",&L,&M);                  
    int road[L+1]; //代表数轴的长度上的每一个节点                       
    for(i=0;i<=L;i++)                     
    road[i]=0;        //0表示节点上有树木                 
    for(i=0;i<M;i++){                     
    scanf("%d%d",&initial,&end);          
    for(l=initial;l<=end;l++)         
      road[l]=1;     //1表示该节点的树被砍伐了。                   
}                                     
    for(i=0;i<L+1;i++){                 
        if(road[i]==0)                     
            nb++;  //计算有树木的节点的数量                           
        }                                  
    printf("%d",nb);                      
    return 0;                            
}   

4.过河卒

输入格式

一行四个正整数,分别表示B 点坐标和马的坐标。

输出格式

一个整数,表示所有的路径条数。

输入  6 6 3 3
输出  6
#include <stdio.h>
long long f1[40][40];
long long f2[40][40];
int n, m, a, b;
void sign(int x, int y) {
	f2[x][y] = 1;
	f2[x - 1][y - 2] = 1;
	f2[x - 1][y + 2] = 1;
	f2[x - 2][y - 1] = 1;
	f2[x - 2][y + 1] = 1;
	f2[x + 1][y + 2] = 1;
	f2[x + 1][y - 2] = 1;
	f2[x + 2][y + 1] = 1;
	f2[x + 2][y - 1] = 1;
}

int main() {
	scanf("%d%d%d%d", &n, &m, &a, &b);
	sign(a , b);
	f1[1][0] = 1;
	for (int i = 1; i <= n+1; i++)
	{
		for (int j = 1; j <= m+1; j++)
		{
			f1[i][j] = f1[i - 1][j] + f1[i][j - 1];
			if (f2[i - 1][j - 1])
			{
				f1[i][j] = 0;
			}
		}
	}
	printf("%d",f1[n + 1][m + 1]);
}

 5.禁止在 int 乘 int 时不开 long long

#include <stdio.h>
#include <stdlib.h>

int ix, iy;
int ia, ib;
long long x, y;
long long a, b;
int main()
{
    scanf("%lld%lld", &x, &y);
    scanf("%lld%lld", &a, &b);
    ix = x;
    iy = y;
    ia = a;
    ib = b;
    if (x * a != ix * ia || x * b != ix * ib || y * a != iy * ia || y * b != iy * ib)
    {
        printf("long long int\n");
    }
    else
    {
        printf("int\n");
    }
    return 0;
}

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值