第三屆全國高校計算機能力挑戰賽-C
阿新 • • 發佈:2021-12-12
單項選擇題
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; }
第四題
作者: Pam
出處: https://www.cnblogs.com/pam-sh/>
關於作者:網安在讀
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出, 原文連結 如有問題, 可郵件([email protected])諮詢.