编程练习——程序设计入门-C语言

week-1

1.1 逆序的三位数

程序每次读入一个正三位数,然后输出逆序的数字。注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
简单一点

#include <stdio.h>

int main(){
   
	int a;
	scanf("%d", &a);
	int x100 = a/100;
	int x10 = (a-x100*100)/10;
	int x = a - x100*100 - x10*10;
	printf("%d", x*100+x10*10+x100);
	return 0;
}

复杂一点:需要考虑到百位十位为零的情况

#include <stdio.h>

int main(){
   
	int a;
	scanf("%d", &a);
	int x100 = a/100;
	int x10 = (a-x100*100)/10;
	int x = a - x100*100 - x10*10;
	if(x) printf("%d%d%d", x,x10,x100);
	else{
   
		if(x10) printf("%d%d", x10,x100);
		else{
   
			printf("%d", x100);
		}
	}
	return 0;
}

week-2

2.1 时间转换

UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。

#include <stdio.h>

int main(){
   
	int a;
	scanf("%d", &a);
	int h1 = a / 100;
	int min = a % 100;
	int h2;
	if (h1>8){
   
		h2 = h1 - 8;
	}
	else h2 = h1 - 8 + 24;
	printf("%d", h2*100+min);
	return 0;
}

2.2 翻译

#include <stdio.h>

int main(){
   
	int RS;
	scanf("%d", &RS);
	int R = RS/10, S = RS%10;
	switch(S){
   
		case 1:
            printf("Faint signals, barely perceptible, ");
            break;
        case 2:
            printf("Very weak signals, ");
            break;
        case 3:
            printf("Weak signals, ");
            break;
        case 4:
            printf("Fair signals, ");
            break;
        case 5:
            printf("Fairly good signals, ");
            break;
        case 6:
            printf("Good signals, ");
            break;
        case 7:
            printf("Moderately strong signals, ");
            break;
        case 8:
            printf("Strong signals, ");
            break;
        case 9:
            printf("Extremely strong signals, ");
            break;
	}
	switch(R){
   
		case 1:
            printf("unreadable.");
            break;
        case 2:
            printf("barely readable, occasional words distinguishable.");
            break;
        case 3:
            printf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值