单项选择题
1.题
(3.0分) 以下叙述正确的是()。
2.题
(3.0分) 下面选项中,是不合法的C语言整型常量的是()。
3.题
(3.0分) 下面选项中, 不合法的C语言字符串常量的是()。
4.题
(3.0分)
C程序中,已有语句int x;float y;char z;
scanf("%d%f%c",&x,&y,&z); ,要求使用变量x,y,z的值分别为5,3.14,B,则正确的数据输入方式是()。
5.题
(3.0分) 对于整型变量x,y,z,且x=1,y=2,z=3,则下面表达式值为0的是()。
6.题
(3.0分) 已有语句int x=2,y=3; 关于if语句编译提示出错的是()。
7.题
(3.0分) 已有定义int a,b,c;则表达式(a = 1,b = 2,b++,a+b)的值为()
8.题
(3.0分) 已有整型变量x=0,语句while(x++<=2) ; 以下叙述正确的是()。
9.题
(3.0分) 执行语句for(i=1;i++<10;);后变量i的值为()。
10.题
(3.0分) C语言中一维数组定义正确的语句是()
11.题
(3.0分) 对于两个整型指针变量p,q,两个变量之间不可以的运算是( )
12.题
(3.0分) C语言中,有语句 int x,*p=&x;以下叙述不正确的是()。
13.题
(3.0分) C语言程序中,函数返回值的类型取决于()
14.题
(3.0分)
以下对结构体类型point中成员x的不正确引用是( )
struct point
{ int x;
int y;
}a,*p;
p = &a;
15.题
(3.0分) 某算法对数据序列的大多数操作是在序列的未尾端插入或删除元素,则用下面选项的存储能减少算法的运算时间的是( )。
如有发现错题,辛苦提出哈~
编程题
第一题

#include <stdio.h>
struct User
{
char *name[10];
double c1;
double c2;
double c3;
};
int main()
{
int garde[3];
int score[5];
int max_result=0;
int result=0;
struct User user[5];
//录入数据
scanf("%d %d %d",&garde[0],&garde[1],&garde[2]);
for(int i=0;i<5;i++)
{
scanf("%s %lf %lf %lf",user[i].name,&user[i].c1,&user[i].c2,&user[i].c3);
}
//计算
for(int i=0;i<5;i++)
{
score[i]=user[i].c1*garde[0]*0.01+user[i].c2*garde[1]*0.01+user[i].c3*garde[2]*0.01;
if(score[i]>max_result)
{
max_result=score[i];
result=i;
}
}
//输出
printf("%s %d",user[result].name,max_result);
system("pause");
return 0;
}
超时啦!
第二题

A21表示11进制,后面21对应的十进制为23
B10表示12进制,后面10对应的十进制为13
Cb表示13进制,后面b对应的十进制为11
第三题

#include <stdio.h>
#include <math.h>
#include <stdbool.h>
/*
3
0 0 0
0 4 0
0 0 3
*/
struct Node{
int x, y, z;
};
double MAX = 0;
int n;
struct Node *t;
//计算两点之间的距离
double L3(int i, int j){
return sqrt((double)((t[i].x - t[j].x)*(t[i].x - t[j].x) + (t[i].y - t[j].y)*(t[i].y - t[j].y) + (t[i].z - t[j].z)*(t[i].z - t[j].z)));
}
//判断是否是三角形
bool isSan(int i, int j, int k){
double a = L3(i, j);
double b = L3(i, k);
double c = L3(k, j);
if (a < (b + c) && b < (a + c) && c < (a + b))
{
return true;
}
return false;
}
//计算三角形面积
double CmputeArea(int i, int j, int k){
double a = L3(i, j);
double b = L3(i, k);
double c = L3(k, j);
double p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
//遍历所有可能的三个点
void run(){
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
for (int k = j + 1; k < n; k++)
{
if (isSan(i, j, k))
{
double tArea = CmputeArea(i, j, k);
if (tArea > MAX)
{
MAX = tArea;
}
}
}
}
}
}
int main(){
//输入
scanf("%d",&n);
t=(struct Node*)malloc(sizeof(struct Node)*n);
for (int i = 0; i < n; i++)
{
scanf("%d %d %d",&t[i].x,&t[i].y,&t[i].z);
}
//计算
run();
//输出
printf("%.2lf\n", MAX);
free(t);
system("pause");
return 0;
}
第四题
