C语言程序设计基础-结构体习题
- 格式:doc
- 大小:33.00 KB
- 文档页数:7
C语言程序设计结构习题与答案1. 介绍C语言是一种广泛应用于系统软件和应用软件开发的高级程序设计语言。
C语言程序设计结构是指程序的组织形式和编写规范。
在学习C 语言时,我们需要通过练习习题来提升自己的编程能力。
本文将介绍一些C语言程序设计结构习题,并给出相应的答案。
2. 基本语法习题2.1 输出Hello, World!要求:编写一个程序,在屏幕上输出"Hello, World!"。
答案:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2.2 输入输出整数要求:编写一个程序,从键盘输入一个整数,然后将其加1后输出。
答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("加1后的值为:%d\n", num + 1);return 0;}```3. 控制结构习题3.1 判断奇偶数要求:编写一个程序,判断一个输入的整数是奇数还是偶数,并输出相应的结果。
答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("输入的整数为偶数\n");} else {printf("输入的整数为奇数\n");}return 0;}```3.2 计算阶乘要求:编写一个程序,计算输入的正整数的阶乘并输出。
答案:```c#include <stdio.h>int main() {int num, factorial = 1, i;printf("请输入一个正整数:");scanf("%d", &num);for (i = 1; i <= num; i++) {factorial *= i;}printf("%d的阶乘为:%d\n", num, factorial);return 0;}```4. 数组与函数习题4.1 求数组元素和要求:编写一个程序,计算一个整型数组中所有元素的和并输出结果。
一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的。
) 1.若有定义 int a[4] = {l, 2, 3, 4};则 a[a[0]+2 * a[2]-a[3]]等于A. 1B. 2C. 3D. 42 .设有数组定义:char array [ ]=〃China 〃;则数组array 所占的空间为A. 4个字节B. 5个字节C. 6个字节D. 7个字节3 .设有定义 char a 口=“xyz”, b □二{'x',' y',' z'};,则语句 cout«sizeof (a)«* ,,«sizeof (b) «endl;的输出结果为 A. 3 3B. 3 4C. 4 3D. 4 44 .设 int b[ ][5]={1,2,3,4,5,6,7};,则元素 b[l] [2]的值是A. 0B. 2C. 6D. 75 .数组定义为int a L2J [3j={1, 2, 3, 4, 5, 6},值为1的数组元素是A. a [0] [0] B, a [1] [1] C. a [1] [2] D. a [2] [3]6 . C++中,若有说明:int a[3] [4];则对a 数组元素的正确引用是9 .设 char x[][10] = {〃Windows 〃,〃dos 〃,〃unix 〃};,执行 cout«x[l][2];后输出的结果是A. nB. iC. oD. s10 .以下叙述中错误的是A.对于double 类型数组,不可以直接用数组名对数组进行整体输入或输出B.数组名代表的是数组所占存储区的首地址,其值不可改变C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界” 的出错信息D.可以通过赋初值的方式确定数组元素的个数11 .设#pragma pack(l),则结构体类型变量占用内存的字节数是A.各成员占用内存字节数之和B.第一个成员占用的内存字节数C.占用内存最大成员所需的字节数D.最后一个成员占用的内存字节数12 .下面程序运行后,输出结果是#include <iostream> using namespace std;数组与结构体A. a[2][4] B, a[l + l][0] 7 .定义二维数组并初始化,正确的是A.mta[][]={l,2,3,4,5,6}; C.inta[][3]={ 1、2,3,4,5,6}; 8 .以下数组定义中,不正确的是A. inta[2][3];C. int c[100][100]={0};C. a(2)(l)D. a[l,3] B.int a[2][]={ 1,2,3,4,5,6};D.inta[2,3]={ 1,2,34,5,6};B. mt b[][3]={0,l,2,3);D. mt d[3][]={]l,2},{l,2,3},{l,2,3,4}};21int/mtp[8]={l,2,3,4,5,6,7,8}J=0,j=0;while(i++<7)if(p[i]%2) j+=p[i];cout<<j«endl;return 0;}A. 15B. 16C. 20D. 3613.下面程序运行后,输出结果是#include <iostream>using namespace std;int main()int a[3][3]={{l,2},{3,4},{5,6}},ij,s=0;fbr(i=l;i<3;i++)砧i(J=0jv=i;j++)s+=a[i][j];cout«s«endl;retuin 0;}A. 18B. 19C. 20D. 2114.下面程序运行后,输出结果是#mclude<iostieam>using namespace std;int main(){ mt a[3][3]={l,2,3,4,5,6,7,8,9},n,sum=0;fdi(n=0;n<3;n++)sum=sum+a [n] [n];cout«sum«endl;return 0:}A. 6B. 12C. 15D. 4515.下面程序运行后,输出结果是#include <iostream>using namespace std;stmct abc{ mt a, b, c; };int main。
一、单选题1、设有定义:struct complex{int real, unreal;} data1={1,8},data2;则以下赋值语句中错误的是()。
A.data2.real=data1.unreal;B.data2=(2,6);C.data2=data1;D.data2.real=data1.real;正确答案:B2、设有定义:struct{char mark[12];int num1;double num2;} t1,t2;若变量均已正确赋初值,则以下语句中错误的是()。
A.t2.num1=t1.num1;B.t2.num2=t1.num2;C.t1=t2;D.t2.mark=t1.mark;正确答案:D3、有以下定义语句:struct student{int num;char name[9];};则不能正确定义结构体数组并赋初始值的是( )。
A.struct stu[]={{1,"zhangsan"},{2,"li si"}};B.struct student stu[2]={{1,"zhangsan"},{2,"li si"}};C.struct student stu[2]={1, "zhangsan",2,"li si"};D.struct student stu[]={{1,"zhangsan"},{2,"li si"}}; 正确答案:A4、有以下程序:#include<stdio.h>struct S{ int a,b;}data[2]={10,100,20,200};int main(){struct S p=data[1];printf("%d\n",++(p.a));return 0;}程序运行后的输出结果是()。
结构体例题一、以下关于结构体定义的描述中,哪一项是正确的?A. 结构体可以包含不同类型的数据项B. 结构体只能包含相同类型的数据项C. 结构体定义后不能直接使用,必须先声明D. 结构体变量在定义时不能初始化(答案:A)二、在C语言中,如何访问结构体成员?A. 使用结构体变量名直接访问B. 使用结构体变量名加点号再加成员名C. 使用结构体类型名加点号再加成员名D. 使用结构体指针解引用后直接访问(答案:B)三、以下哪个关键字用于定义结构体类型?A. classB. structC. unionD. enum(答案:B)四、关于结构体数组,以下说法错误的是?A. 结构体数组中的每个元素都是结构体类型的变量B. 结构体数组可以像普通数组一样进行遍历C. 结构体数组不能作为函数参数传递D. 可以通过下标访问结构体数组中的特定元素(答案:C)五、以下哪个操作不能对结构体变量进行?A. 赋值B. 比较大小(使用, !=等)C. 取地址D. 作为函数返回值(答案:B,注:结构体变量通常不能直接使用或!=进行比较,除非逐个成员比较)六、在定义结构体时,以下哪项不是必须的?A. 结构体名B. 结构体成员类型C. 结构体成员名D. 结构体成员初始化值(答案:D)七、关于结构体指针,以下说法正确的是?A. 结构体指针不能直接访问结构体成员B. 结构体指针需要先解引用才能访问结构体成员C. 结构体指针不能直接赋值给另一个结构体指针变量D. 结构体指针不能用于动态内存分配(答案:B)八、以下哪种情况适合使用结构体?A. 当需要存储多个相同类型的数据时B. 当需要存储一个由多种类型数据组成的数据集合时C. 当需要对数据进行排序时D. 当需要进行大量的数学运算时(答案:B)九、在C语言中,如何声明一个结构体类型的指针?A. struct MyStruct *ptr;B. struct MyStruct ptr*;C. struct *MyStruct ptr;D. struct MyStruct* ptr[];(答案:A)十、关于结构体嵌套,以下说法错误的是?A. 结构体可以嵌套在其他结构体中作为成员B. 嵌套的结构体成员可以通过多级点号运算符访问C. 结构体不能嵌套自身作为成员,会导致无限递归D. 嵌套的结构体使得数据结构更加复杂和灵活(答案:C,注:结构体可以嵌套自身,但需要通过指针等方式避免无限递归的问题)。
计算机等级考试二级C语言程序设计专项训练题——结构体一.程序填空题1.给定程序中,通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。
函数fun的功能是:输出这位学生的信息。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!#include <stdio.h>typedef struct{int num;char name[9];char sex;struct { int year,month,day;} birthday;float score[3];}STU;/**********found**********/void show(STU ___1___){int i;printf("\n%d %s %c %d-%d-%d",tt.num,,tt.sex,tt.birthday.year,tt.birthday.month,tt.birthday.day);for(i=0; i<3; i++)/**********found**********/printf("%5.1f", ___2___);printf("\n");}int main( ){STU std={1,"Zhanghua",'M',1961,10,8,76.5,78.0,82.0};printf("\nA student data:\n");/**********found**********/show(___3___);return 0;}2.人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。
函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。
c语言程序设计基础试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整数?A. 0x10B. 0X1GC. 08D. 0L答案:A3. 在C语言中,用于定义一个函数的关键字是?A. defineB. functionC. defD. void答案:B4. C语言中,以下哪个是正确的字符串定义?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A5. 在C语言中,以下哪个运算符用于求余?A. %B. /C. //D. %答案:A二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型变量的关键字是________。
答案:int2. 如果一个函数没有返回值,应该使用________关键字声明。
答案:void3. 在C语言中,________运算符用于连接字符串。
答案:+4. C语言中,________运算符用于比较两个值是否相等。
答案:==5. 在C语言中,________关键字用于定义一个指针变量。
答案:*三、简答题(每题5分,共20分)1. 简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以被当作指向数组第一个元素的指针。
数组的每个元素可以通过指针运算来访问。
2. 解释C语言中函数原型声明的作用。
答案:函数原型声明提供了函数的名称、返回类型和参数类型,但不需要函数体。
它允许在函数定义之前调用函数,同时帮助编译器检查函数调用的正确性。
3. 什么是C语言中的预处理指令,举例说明。
答案:预处理指令是C语言中的特殊命令,用于在编译之前处理源代码。
C语言程序设计(结构)习题与答案C语言程序设计(结构)习题与答案一、习题1. 编写一个C程序,输出"Hello, World!"。
2. 编写一个C程序,从键盘输入两个整数,然后输出它们的和。
3. 编写一个C程序,从键盘输入一个整数,判断它是否为偶数。
4. 编写一个C程序,从键盘输入一个字符,判断它是否为大写字母。
5. 编写一个C程序,从键盘输入一个年份,判断它是否为闰年。
6. 编写一个C程序,从键盘输入一个整数n,然后输出n的阶乘。
7. 编写一个C程序,从键盘输入一个字符串,然后统计其中字母的个数。
8. 编写一个C程序,从键盘输入一个字符串,然后将其中的大写字母转换为小写字母。
9. 编写一个C程序,实现一个简单的计算器,能够进行加、减、乘、除四则运算。
10. 编写一个C程序,实现一个简单的猜数字游戏,让用户猜一个随机生成的数字。
二、答案1. 程序代码:```c#include <stdio.h>int main(){printf("Hello, World!");return 0;}```2. 程序代码:```c#include <stdio.h>int main(){int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2); sum = num1 + num2;printf("两数之和为:%d", sum);}```3. 程序代码:```c#include <stdio.h>int main(){int num;printf("请输入一个整数:"); scanf("%d", &num);if (num % 2 == 0){printf("%d是偶数", num); }else{printf("%d是奇数", num); }}```4. 程序代码:```c#include <stdio.h>int main(){char ch;printf("请输入一个字符:"); scanf(" %c", &ch);if (ch >= 'A' && ch <= 'Z') {printf("是大写字母");}else{printf("不是大写字母"); }}```5. 程序代码:```c#include <stdio.h>int main(){int year;printf("请输入一个年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d是闰年", year);}else{printf("%d不是闰年", year);}}```6. 程序代码:```c#include <stdio.h>int main(){int n, i;long long result = 1;printf("请输入一个整数:");scanf("%d", &n);for (i = 1; i <= n; i++){result *= i;}printf("%d的阶乘为:%lld", n, result); return 0;}```7. 程序代码:```c#include <stdio.h>#include <string.h>int main(){char str[100];int i, count = 0;printf("请输入一个字符串:");gets(str);for (i = 0; i < strlen(str); i++){if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {count++;}}printf("字符串中字母的个数为:%d", count);return 0;}```8. 程序代码:```c#include <stdio.h>#include <string.h>int main(){char str[100];int i;printf("请输入一个字符串:");gets(str);for (i = 0; i < strlen(str); i++){if (str[i] >= 'A' && str[i] <= 'Z'){str[i] += 32; // 将大写字母转换为小写字母 }}printf("转换后的字符串为:%s", str);return 0;}```9. 程序代码:```c#include <stdio.h>int main(){int num1, num2;char operator;float result;printf("请输入一个表达式(如2 + 3):");scanf("%d %c %d", &num1, &operator, &num2); switch (operator){case '+':result = num1 + num2;printf("计算结果为:%.2f", result); break;case '-':result = num1 - num2;printf("计算结果为:%.2f", result); break;case '*':result = num1 * num2;printf("计算结果为:%.2f", result); break;case '/':if (num2 != 0){result = (float)num1 / num2;printf("计算结果为:%.2f", result); }else{printf("除数不能为0");}break;default:printf("运算符不合法");}return 0;}```10. 程序代码:```c#include <stdio.h>#include <stdlib.h>#include <time.h>int main(){int secretNum, guess;int attempts = 0;int maxAttempts = 5;srand(time(NULL)); // 设置随机数种子secretNum = rand() % 100 + 1; // 生成1到100之间的随机数 printf("猜数字游戏开始!\n");do{printf("请输入一个数字(1-100):");scanf("%d", &guess);attempts++;if (guess > secretNum){printf("太大了!\n");}else if (guess < secretNum){printf("太小了!\n");}else{printf("恭喜你,猜对了!\n");break;}} while (attempts < maxAttempts);printf("游戏结束!正确答案是:%d", secretNum);return 0;}```以上是C语言程序设计(结构)的一些习题和答案。
1、在说明一个结构体变量时,系统分配给它的存储空间是。
A、该结构体中第一个成员所需的存储空间B、该结构体中最后一个成员所需的存储空间C、该结构体中占用最大存储空间的成员所需的存储空间D、该结构体中所有成员所需存储空间的总和2、结构体变量在程序执行期间。
A、所有成员一直驻留在内存中B、只有一个成员驻留在内存中C、部分成员驻留在内存中D、没有成员驻留在内存中3、设有以下说明语句:typedef struct{ int n;char ch[8];}PER;则下面叙述中正确的是。
A、PER是结构体变量名B、PER是结构体类型名C、typedef struct 是结构体类型D、struct 是结构体类型名4、有如下定义:struct date{ int year;int month;int day;};struct worklist{ char name[20];char sex;struct date birthday;}person;对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是。
A、year=1958B、birthday. year=1958C、person. birthday. year=1958D、person. year=19585、若有下面的说明和定义:struct test{int m1;char m2;float m3;union uu{char u1[5];int u2[2];}ua;}myaa;则sizeof(stuct test)的值是。
A、12B、16C、14D、96、以下对结构体类型变量td1的定义中,不正确的是。
A 、typedef struct aa{ int n;float m;} AA;AA td1; B 、struct aa { int n;float m;} td1;C 、struct { int n;float m;} aa;struct aa td1;D 、struct { int n;float m;} td1;7、设有如下定义:struct sk{int a;float b;} data;int *p;若要使p指向data中的a域,正确的赋值语句是。
c语言程序与设计基础知识试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0123C. 0.12ED. 12e答案:A3. 在C语言中,用于定义数组的关键字是:A. arrayB. listC. vectorD. none of the above答案:D4. 下列哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B5. C语言中,用于文件操作的库函数是:A. stdio.hB. string.hC. math.hD. stdlib.h答案:A6. 下列关于指针的描述,错误的是:A. 指针可以存储变量的地址B. 指针可以存储一个值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B7. 在C语言中,用于定义函数的关键字是:A. functionB. defineC. defD. void答案:D8. 下列哪个选项不是C语言中的控制结构?A. if-elseB. switch-caseC. forD. goto答案:D9. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. all of the above答案:D10. C语言中,用于定义枚举类型的关键字是:A. enumB. typedefC. structD. union答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个名为“person”的结构体,包含姓名和年龄两个成员,正确的定义方式是:struct person { char name[50];int age; }。
答案:正确2. 在C语言中,使用________函数可以输出格式化的字符串到控制台。
1、把一个学生的信息(包括学号、姓名、性别、住址)放在一个结构体变量中,然后输出这个学生的信息。
#include <>int main(){struct Student{long int num;char name[20];char sex;char addr[20];}a={10101,“Li Lin”,‘M’, “123 Beijing Road”};》printf("NO.:%ld\nname:%s\n sex:%c\naddress:%s\n",,,,;return 0;}2、输入两个学生的学号、姓名和成绩,输出成绩较高学生的学号、姓名和成绩#include <>int main(){ struct Student{int num;!char name[20];float score;}student1,student2;scanf("%d%s%f",&,, &;scanf(“%d%s%f”,&,, &;printf("The higher score is:\n");if >printf("%d %s %\n",,, ;else if <printf("%d %s %\n",,, ;?else{printf("%d %s %\n",,, ;printf("%d %s %\n",,, ;}return 0;}3、有3个候选人,每个选民只能投票选一人,要求编一个统计选票的程序,先后输入被选人的名字,最后输出各人得票结果。
#include <>#include <>》struct Person{ char name[20];int count;}leader[3]={“Li”,0,“Zhang”,0,“Sun”,0};int main(){ int i,j; char leader_name[20];for (i=1;i<=10;i++){ scanf(“%s”,leader_name);for(j=0;j<3;j++)if(strcmp(leader_name,。
leader[j].name)==0)leader[j].count++;}for(i=0;i<3;i++)printf("%5s:%d\n“,leader[i].name,leader[i].count);return 0;}\4、有n个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息。
#include <>struct Student{ int num; char name[20]; float score; };int main(){ struct Student stu[5]={{10101,"Zhang",78},{10103,"Wang",},{10106,"Li", 86 },{10108,“Ling”, },{10110,“Fun”, 100 } };struct Student temp;const int n = 5 ;int i,j,k;printf("The order is:\n");(for(i=0;i<n-1;i++){ k=i;for(j=i+1;j<n;j++)if(stu[j].score>stu[k].score) k=j;temp=stu[k];stu[k]=stu[i];stu[i]=temp;}for(i=0;i<n;i++)printf("%6d %8s %\n",【stu[i].num,stu[i].name,stu[i].score);printf("\n");return 0;}5、通过指向结构体变量的指针变量输出结构体变量中成员的信息。
#include <>#include <>int main(){ struct Student—{ long num;char name[20];char sex;float score;};struct Student stu_1;struct Student * p;p=&stu_1;=10101;strcpy,“Li Lin”);\='M‘; =;printf("No.:%ld\n”,p->.num);printf("name:%s\n", p->.name);printf("sex:%c\n”, p->.sex);printf(”score:%\n”,;return 0;}6、有3个学生的信息,放在结构体数组中,要求输出全部学生的信息。
#include <>】struct Student{ int num;char name[20];char sex;int age;};struct Student stu[3]={{10101,"Li Lin",'M',18},{10102,"Zhang Fun",'M',19},{10104,"WangMin",'F',20} };int main(){ struct Student *p;printf(" No. Name sex age\n");'for(p=stu;p<stu+3;p++)printf(“%5d %-20s %2c %4d\n”,p->num, p->name, p->sex, p->age);return 0;}7、有n个结构体变量,内含学生学号、姓名和3门课程的成绩。
要求输出平均成绩最高的学生的信息(包括学号、姓名、3门课程成绩和平均成绩)。
#include <>#define N 3struct Student{ int num;(char name[20];float score[3];float aver;};int main(){ void input(struct Student stu[]);struct Student max(struct Student stu[]);void print(struct Student stu);struct Student stu[N];input(stu);`print(max(stu));return 0;}void input(struct Student stu[]){ int i;printf("请输入各学生的信息:学号、姓名、三门课成绩:\n");for(i=0;i<N;i++){scanf("%d %s %f %f %f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2] ); stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/;}}}struct Student max(struct Student stu[]){int i,m=0;for(i=0;i<N;i++)if (stu[i].aver>stu[m].aver) m=i;return stu[m];}void print(struct Student stud){ printf("\n成绩最高的学生是:\n");printf("学号:%d\n姓名:%s\n三门课成绩:%,%,%\n平均成绩:%\n",,,[0],[1],[2],;}^8、有若干个人员的数据,其中有学生和教师。
学生的数据中包括:姓名、号码、性别、职业、班级。
教师的数据包括:姓名、号码、性别、职业、职务。
要求用同一个表格来处理。
#include <>union Categ{ int clas;char position[10];};struct{ int num;char name[10];-char sex;char job;union Categ category}person[2];int main(){int i;for(i=0;i<2;i++){scanf("%d %s %c %c“,&person[i].num,&person[i].name,&person[i].sex,&person[i].job);~if(person[i].job == 's')scanf("%d“,&person[i].;else if(person[i].job == 't‘)scanf(“%s”,person[i].; else printf(“Input error!”);}printf("\n");for(i=0;i<2;i++){if (person[i].job == ‘s’)printf("%-6d%-10s%-4c%-4c%-10d\n",person[i].num,person[i].【name,person[i].sex,person[i].job,person[i].;elseprintf("%-6d%-10s%-4c%-4c%-10s\n",person[i].num,person[i].name,person[i].sex, person[i].job,person[i].;}return 0;}9、编程,输入2个时刻, 定义一个时间结构体类型(包括时分秒),计算2个时刻之间的时间差。
#include <>typedef struct Mytime{int hour;int min;int sec;}T;int main(){T t1, t2, t3;int sec1, sec2, sec3;printf("输入两个时间值,以XX:XX:XX的格式\n");scanf("%d:%d:%d", , , ;scanf("%d:%d:%d", , , ;sec1 = * 3600 + * 60 + ;sec2 = * 3600 + * 60 + ;if( sec1 >= sec2 )sec3 = sec1 - sec2;elsesec3 = sec2 - sec1;= sec3 / 3600;sec3 %= 3600;= sec3 /60;= sec3 %60;printf("时间差是%d小时%d分%d秒\n", , , ;return 0;}10、编程题:时间换算。