翁凯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;
}