翁凯C语言(一)

翁凯C语言

在C程序中,可以把整型数以二进制形式存放到文件中的函数是fwrite函数

typedef详解

C语言允许用户使用 typedef 关键字来定义自己习惯的数据类型名称,来替代系统默认的基本类型名称、数组类型名称、指针类型名称与用户自定义的结构型名称、共用型名称、枚举型名称等。一旦用户在程序中定义了自己的数据类型名称,就可以在该程序中用自己的数据类型名称来定义变量的类型、数组的类型、指针变量的类型与函数的类型等。

例如,C 语言在 C99 之前并未提供布尔类型,但我们可以使用 typedef 关键字来定义一个简单的布尔类型,如下面的代码所示:

typedef int BOOL;
#define TRUE 1
#define FALSE 0

定义好之后,就可以像使用基本类型数据一样使用它了,如下面的代码所示:

BOOL bflag=TRUE;

typedef的4种用法

为基本数据类型定义新的类型名

为自定义数据类型(结构体、共用体和枚举类型)定义简洁的类型名称

为数组定义简洁的类型名称

为指针定义简洁的名称

系统判断字符串结束的标志是 ‘\0’

第三周判断与循环编程练习

1、时间换算

题目内容:

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

有效的输入范围是0到2359,即你的程序不可能从测试服务器读到0到2359以外的输入数据。

你的程序要输出这个时间对应的UTC时间,输出的格式和输入的相同,即输出一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而分小于10分,需要保留十位上的0;如果小时是0而分小于10分的,则不需要保留十位上的0。

提醒:要小心跨日的换算。

输入格式:

一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而分小于10分,需要保留十位上的0;如果小时是0而分小于10分的,则不需要保留十位上的0。

输出格式:

一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而分小于10分,需要保留十位上的0;如果小时是0而分小于10分的,则不需要保留十位上的0。

输入样例:

803

输出样例:

3

时间限制:500ms内存限制:32000kb

#include<stdio.h>

int main()
{
    
    
	int utc , bjt;
	int hour, minute;
 
	scanf("%d", &bjt);
	//转换获得的bjt变为分开的小时与分钟
	hour = bjt / 100;
	minute = bjt % 100; 
	//通过utc=bjt-8换算,并注意跨日运算 
	int ih = hour - 8;
	if ( ih <0 ) {
    
    
		ih = 24 + ih;
	}
	//将 分开的小时和分钟转换回整数; 
	utc = ih*100+minute; 
	
	printf("%d\n", utc);
	
	return 0;
}

2、分队列

题目内容:

班级第一次列队,通常老师会让同学按身高排成一列,然后1、2报数,喊到1的同学向前一 步,就这样,队伍就变成两列了。假设现在一个班级有n个同学,并且他们已经按身高排成 了一列,同学按身高从1到n编号,你能告诉我最后哪些编号的同学站在了第一列么?

输入格式:

输入一个正整数n,表示班级的人数。

输出格式:

按顺序输出所有在第一列的同学对应的编号,每两个编号之间用一个空格隔开,最后一个编号后面没有空格。

输入样例:

11

输出样例:

1 3 5 7 9 11

时间限制:500ms内存限制:32000kb

#include<stdio.h>

//输入一个整数代表个数,然后输出所有的奇数,空格隔开,最后一个数后面没有空格 
int main(){
    
    
	int n,i;
	scanf("%d", &n);
	for(i=1;i<=n;i++){
    
    
		if(i%2!=0){
    
    
			printf("%d", i);
			if(i!=n){
    
    
				printf(" ");
			}
		}
	}
	return 0;
} 

猜你喜欢

转载自blog.csdn.net/weixin_44337241/article/details/110882149