计算机二级考试备考

tech2025-08-18  4

程序设计题 【题一】

#include<stdio.h> #define N 80 void fun(int *w,int p,int n) { int x, j, ch; for (x = 0; x <= p; x++) { ch = w[0]; for (j = 1; j < n; j++) { w[j - 1] = w[j]; } w[n - 1] = ch; } } int main() { int a[N] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 }; int i, p, n = 15; printf("The oriqinal data:\n"); for (i = 0; i < n; i++) { printf("%3d", a[i]); } printf("\n\nEnter p:"); scanf("%d", &p); fun(a, p, n); printf("\nThe data after moving:\n"); for (i = 0; i < n; i++) { printf("%3d", a[i]); } printf("\n\n"); }

【题二】

void fun(char* a) { while (*a != '\0') { a++; } a--; while (*a == '*') { a--; } *(a + 1) = '\0'; }

【题三】

void fun(int m,int k,int xx[]) { int i, j, n; for (i = m + 1, n = 0; n < k; i++) { for (j = 2; j < i; j++)//判断i是否是素数 { if (i%j == 0)break;//不是跳出判断,判断下一个数 } if (j >= i)//若是素数,存入xx[]数组中 { xx[n++] = i; } } }

【题四】

#include<stdio.h> int fun(char *s) { int i, j=0; for (i = 0; s[i] != '\0'; i++) { if (s[i] != ' '&&s[i + 1] == ' ' || s[i + 1] == '\0') j++; } return j; } int main() { int a; char *s = "i love you"; a = fun(s); printf("%d", a); return 0; }

【题五】

#include<stdio.h> #define N 3 void fun(int a[][N],int m) { for (int i = 0; i < N; i++) { for (int j = i; j < N; j++) { a[i][j] = a[i][j] * m; } } } int main() { int a[][N] = { {1,9,7},{2,3,8},{4,5,6} }; int m = 2; fun(a, m); for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { printf("%d ", a[i][j]); if (j == N - 1)printf("\n"); } } return 0; }

【题六】

#include<stdio.h> #define N 5 float fun(int a[][N]) { float sum = 0; int k = 0; for (int i = 0; i < N; i++) { if (i == 0) //处理第一行 { for (int j = 0; j < N; j++) { sum = sum + a[i][j]; k++; } } else if (i == N - 1) //处理最后一行 { for (int j = 0; j < N; j++) { sum = sum + a[i][j]; k++; } } else //处理中间的行 { sum = sum + a[i][0] + a[i][N - 1]; k = k + 2; } } return sum / k; } int main() { float prem; int a[][N] = { {0,1,2,7,9},{1,9,7,4,5},{2,3,8,3,1},{4,5,6,8,2},{5,9,1,4,1} }; prem = fun(a); printf("%.3f", prem); return 0; }

【题七】

#include<stdio.h> #define M 4 #define N 5 int fun(int a[M][N]) { int sum = 0; for (int i = 0; i < M; i++) { if (i == 0) //处理第一行 { for (int j = 0; j < N; j++) { sum = sum + a[i][j]; } } else if (i == M - 1) //处理最后一行 { for (int j = 0; j < N; j++) { sum = sum + a[i][j]; } } else sum = sum + a[i][0] + a[i][N - 1];//处理中间的行 } return sum; } int main() { int prem; int a[M][N] = { {1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}}; prem = fun(a); printf("%d", prem); return 0; }

【题八】

#include<stdio.h> float fun(float h) { int tmp = (int)(h * 1000 + 5) / 10; return (float)tmp / 100; } int main() { float h = 1234.564; printf("%7.2f",fun(h)); return 0; }

【题九】

#include<stdio.h> void fun(int array[3][3]) { int i, j, t; for (i = 0; i < 3; i++) { for (j = i + 1; j < 3; j++) { t = array[i][j]; array[i][j] = array[j][i]; array[j][i] = t; } } } int main() { int array[3][3] = { {100,200,300},{400,500,600},{700,800,900} }; fun(array); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { printf("%d ", array[i][j]); if (j == 2)printf("\n"); } } return 0; }

【题十】

#include<stdio.h> #define MAX 100 int fun(int lim, int aa[MAX]) { int i, j, k = 0; for (i = 2; i <= lim; i++) { for (j = 2; j < i; j++) { if (i%j == 0)break; } if (j >= i)aa[k++] = i; } return k; } int main() { int sum,lim = 20; int aa[MAX]; sum = fun(lim, aa); printf("%d\n", sum); for (int i = 0; i < sum; i++) { printf("%d ", aa[i]); } return 0; }

【题11】

char *fun(char(*a)[81], int num, char *max) { int i = 0; max = a[0]; for (i = 0; i < num; i++) { if (strlen(max) < strlen(a[i])) max = a[i]; } return max; }
最新回复(0)