第五次作业华中科技大学c++程序设计上机作业
- 格式:pdf
- 大小:200.91 KB
- 文档页数:9


.
.
第二章
一.选择题
1.C 2.B D 3.A 4.A 5. D
6.C 7.D 8.C 9.A 10.D
11.B 12.D 13.C 14.D 15.A
16.B 17.A 18.B 100011 001111
二.判断题
1.错
2.错
3.错
4.错
三.填空题
1. B 66
2. n1=%d\nn2=%d\n
3. 0
四.计算
1
(1) x|y = 0x002f
(2) x^y = 0x0026
(3) x&y = 0x0009;
(4) ~x+~y = 0xffc6
(5) x<<=3 0x0068
(6) y>>=4 0x0002
2
(1) 6
(2) 50
(3) 1
(4) –16
(5) 1
(6) 20
3
(1) 0
(2) 1
(3) 1
(4) 4
(5) 8
(6) 1
4
(1) 12
(2) 0
(3) 1
(4) 27 .
.
(5) 1
(6) 6
(7) 24
(8) 27
(9) –29
5
(1) 0
(2) 1
(3) 1
(4) –3
(5) 2
五.程序分析题
程序1
b=20 a=3600
程序2
第三章
一.填空题
1.s=6
2.96
3.(1) scanf("%c",&c);
(2) c-32 更好的答案:c-('a'-'A')
1. 输出一个数组中最大元素下标
#include
void main( )
{
int i,j,a[10];
for(i=0;i<=9;i++) scanf("%d",&a[i]);
j=0;
for(i=1;i<=9;i++)
if(a[i]>a[j]) j=i;
printf("最大元素值是:%d\n",a[j]);
printf("最大元素下标:%d\n", j);
}
2. 输入任意10个数,打印出其中最大数、最小数。
#include
void main( )
{
int a[10],i,j, k;
for(i=0;i<=9;i++) scanf("%d",&a[i]);
j=k=0;
for(i=1;i<=9;i++)
{
if(a[i]>a[j]) j=i;
if(a[i]
}
printf("最大元素:%d\n",a[j]);
printf("最小元素:%d\n", a[k]);
}
3. 从10个整数中把最小的数找出来,并与最前面的数对调, 指出最小的数原来的位置。
#include
void main( )
{
int i,j,a[10],k;
for(i=0;i<=9;i++) scanf("%d",&a[i]);
j=0;/*假设最小值是第0个元素*/
for(i=1;i<=9;i++)
if(a[i]
if(j!=0)
{ k=a[0]; a[0]=a[j]; a[j]=k;}
printf("min number is:%d\n",a[0]);
printf("the position is:%d\n", j);
}
4. 已知5个数已经按由大到小排好序,请编程使得它们按由小到大排序。(逆序)
#include
void main( )
{
int a[5]={5,4,3,2,1},i,t;
结构体
2.
#include
#define N 3
struct a
{
long num;
char name[20];
int old; //工龄
char ps[20]; //职务
int wage;
};
main()
{
struct a b[N];
int i,sum=0,ave=0;
for(i=0;i
{
scanf("%ld%s%d%s%d",&b[i].num,b[i].name,&b[i].old,b[i].ps,&b[i].wage);
sum=sum+b[i].wage;
}
ave=sum/N;
printf("工作证号 姓名 工龄 职务 工资\n");
printf("-----------------------------\n");
for(i=0;i<3;i++)
printf("%-9ld%-5s%-5d%-5s%-5d\n",b[i].num,b[i].name,b[i].old,b[i].ps,b[i].wage);
printf("总工资=%d\t平均工资=%d\n",sum,ave);
}
7.
#include
struct Date
{
int day;
int month;
int year;
int yearday;
char month_name[4];
};
Int day_of_year(struct Date pd)
{
Int day_tab[2][13]=
{{0,31,28,31,30,31,30,31,31,30,31,30,31}
{0,31,29,31,30,31,30,31,31,30,31,30,31}}; Int i,day,leap;
day=pd.day;
Leap=pd.year%4==0&&pd.year%100!=0||pd->year%400==0; //闰年二月29天
第二章
一.选择题
D 5. D
100011 001111
二.判断题
1.错
2.错
3.错
4.错
三.填空题
1. B 66
2. n1=%d\nn2=%d\n
3. 0
四.计算
1
(1) x|y = 0x002f
(2) x^y = 0x0026
(3) x&y = 0x0009;
(4) ~x+~y = 0xffc6
(5) x<<=3 0x0068
(6) y>>=4 0x0002
2
(1) 6
(2) 50
(3) 1
(4) –16
(5) 1
(6) 20
3
(1) 0
(2) 1
(3) 1
(4) 4
(5) 8
(6) 1
4
(1) 12
(2) 0
(3) 1
(4) 27
(5) 1
(6) 6
(7) 24 (8) 27
(9) –29
5
(1) 0
(2) 1
(3) 1
(4) –3
(5) 2
五.程序分析题
程序1
b=20 a=3600
程序2
第三章
一.填空题
=6
3.(1) scanf("%c",&c);
(2) c-32 更好的答案:c-('a'-'A')
main()
{
int a,b; printf("please input a & b:");
scanf("%d%d",&a,&b);
printf("\nmax is %d\n",(a>b)a:b);
}
int max(int x,int y);
main()
{
int a,b,c,max;
printf("please input a & b & c:");
scanf("%d%d%d",&a,&b,&c);
max=a>ba:b;
max=c>maxc:max;
printf("\nmax is %d\n",max);
}
main()