江苏省C等级考试

  • 指针
  • 编程题

指针

#include<stdio.h>
#define PR(ar) printf("%d ",ar);
int main()
{int j, a[] = {1, 3, 5, 7, 9, 11, 13, 15};int* p = a + 5;for (j = 3; j; --j){switch(j){case 1:case 2: PR(*p++); break;case 3: PR(*(--p));}}return 0;
}
解析:后置++的优先级顺序大于解引用操作符*
j = 3,进入case 3,PR(*(a+4)) = 9(注:p = a + 4)
j = 2, 进入case 2,PR(*(a+4)) = 9(注:之后p = a + 5)
j = 1,进入case 1,case 2, PR(*(a+5)) = 11(注:之后p = a + 6)

编程题

题一

代码一:

#define N 7
void matrix(int(*a)[N]) {int i = 0, j = 0, k = 1;for (i = 0; i <= (N - 1) / 2; ++i) {for (j = i; j < N - i; ++j) {a[i][j] = a[N - 1 - i][j] = k;a[j][i] = a[j][N - 1 - i] = k;}++k;}
}

代码二:

# define 7
void matrix(int (*a)[N]){int i, j;for (i = 0; i <= (N - 1) / 2; ++i){//第 i 行for (j = i; j < N - i; ++j){a[i][j] = a[N - 1 - i][j] = i + 1;}//第 i 列for (k = i; k < N - i; ++k){a[k][i] = a[k][N - 1 - i] = i + 1;}}
}

题二

代码一:

//冒泡排序思想
void sort(int array1[3][3]) {int i, j, k;//行升序for (i = 0; i < 3; ++i) {for (j = 0; j < 3; ++j) {for (k = 0; k < 2 - j; ++k) {if (array1[i][k] > array1[i][k + 1]) {//交换int temp = array1[i][k];array1[i][k] = array1[i][k + 1];array1[i][k + 1] = temp;}}}}//列降序for (j = 0; j < 3; ++j) {for (i = 0; i < 3; ++i) {for (k = 0; k < 2 - i; ++k) {if (array1[k][j] < array1[k + 1][j]) {//交换int temp = array1[k][j];array1[k][j] = array1[k + 1][j];array1[k + 1][j] = temp;}}}}
}

代码二:

//选择排序思想
void sort(int array1[3][3]) {int i, j, k;//行升序for (i = 0; i < 3; ++i) {for (j = 0; j < 3; ++j) {for (k = j + 1; k < 3; ++k) {if (array1[i][j] > array1[i][k]) {//交换int temp = array1[i][k];array1[i][k] = array1[i][j];array1[i][j] = temp;}}}}//列降序for (j = 0; j < 3; ++j) {for (i = 0; i < 3; ++i) {for (k = i + 1; k < 3; ++k) {if (array1[k][j] > array1[i][j]) {//交换int temp = array1[k][j];array1[k][j] = array1[i][j];array1[i][j] = temp;}}}}
}

题三

代码一:

int search(int a[][3]) {int n, i, j, k = 0, cnt = 0;int b[150] = { 0 };//以空间换时间for (n = 1; n < 150; n += 4) {//H数for (i = n - 4; i > 1; i -= 4) {if (n % i == 0) {break;//不是H素数}}//是H素数if (i == 1) {b[k++] = n;}}for (i = 0; i < k; ++i) {for (j = i; j < k; ++j) {int p = b[i] * b[j];if (p <= 150 && p % 4 == 1) {a[cnt][0] = p;a[cnt][1] = b[i];a[cnt][2] = b[j];++cnt;}if (p > 150) {break;}}}return cnt;
}

代码二:

int Hprime(int n) {int i;for (i = n - 4; i > 1; i -= 4) {if (n % i == 0) {break;}}if (i == 1) {return 1;}return 0;
}int search(int a[][3]) {int n, i, k, cnt = 0;for (n = 1; n < 150; n += 4) {//H数//找H半素数for (i = 5; i < n; i += 4) {if (n % i == 0 && Hprime(i)) {break;}}//判断H半素数另一因子(仍为H素数)k = n / i;if (Hprime(k)) {a[cnt][0] = n;a[cnt][1] = i;a[cnt][2] = k;++cnt;}}return cnt;
}

题四

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>
#include<conio.h>int allZeroOnes(int x) {while (x) {if (x % 10 != 0 && x % 10 != 1) {return 0;}x /= 10;}return 1;
}long find_m(int n) {int temp = 1, m = -1;int i = 1;for (;; ++i) {temp = n * i;if (allZeroOnes(temp)) {m = temp;break;}}return m;
}int main() {FILE* fp = fopen("myf2.out", "w+");int n = 0;long m = 0;if (fp == NULL) {printf("error");return 0;}printf("n = ");scanf("%d", &n);//fscanf("m = find_m(n);printf("\nn = %d\tm = %ld ", n, m);fprintf(fp, "\nn = %d\tm = %ld ", n, m);fprintf(fp, "\nMy exam is 99999");fclose(fp);fp = NULL;_getch();return 0;
}

题五

代码一:

void insert(char* p) {int i, j = 0;int flag = 0;//哨兵char s[50];//以空间换取时间for (i = 0; p[i] != '\0'; ++i) {if (0 == flag && (p[i] >= '0' && p[i] <= '9')) {s[j++] = '-';flag = 1;}else if (1 == flag && (p[i] <'0' || p[i] > '9')) {flag = 0;}s[j++] = p[i];}s[j] = 0;//注意添加终止字符'\0' = 0;//还原到字符串p中去for (i = 0; i < strlen(s); ++i) {p[i] = s[i];}p[i] = '\0';return;
}

代码二:

void insert(char* p) {int i;int flag = 0;for (i = 0; i < strlen(p); ++i) {if (isdigit(p[i])) {int cnt = 0, k = i;while (isdigit(p[k++])) ++cnt;int j = strlen(p);for (; j > i; --j) {p[j] = p[j - 1];}p[i] = '-';p[strlen(p)] = '\0';i += cnt;}}return;
}

题六

代码一:

#include<stdio.h>
#include<string.h>void squeeze(char* s1, char* s2)
{int i, j, k = 0;char temp[25];for (i = 0; i < strlen(s1); ++i){for (j = 0; j < strlen(s2); ++j){if (s1[i] == s2[j]){break;}}if (j == strlen(s2)){temp[k++] = s1[i];}}temp[k] = '\0';//注意字符串结束标志!!!for (i = 0; i <= k; ++i)//注意这边的k 可以取到{s1[i] = temp[i];}
}int main()
{FILE* fp;char s1[25] = "abbcdefgghiijk1", s2[25] = "bdglk";if (NULL != (fp = fopen("myf2.out", "w+"))){squeeze(s1, s2);printf("s1:%s\n", s1);fprintf(fp, "s1:%s\n", s1);fprintf(fp, "\nmy exam is 9999");fclose(fp);fp = NULL;}return 0;
}

题七

代码一:

#include<stdio.h>
#include<conio.h>
#include<string.h>int MakeNum(char a[], char b[][6], int k)
{int i, j, m = 0;for (i = 0; i < strlen(a); i += k){for (j = i; j < strlen(a) && j < i + k; ++j){b[m][j - i] = a[j];}b[m++][j - i] = '\0';}return m;
}int main()
{FILE* fp;int k, cnt, i;char a[30] = "0112400123", b[6][6];if (NULL != (fp = fopen("myf2.out", "w+"))){scanf("%d", &k);cnt = MakeNum(a, b, k);for (i = 0; i < cnt; ++i){printf("%s  ", b[i]);fprintf(fp, "%s  ", b[i]);}fprintf(fp, "\nMy exam is 9999");fclose(fp);fp = NULL;}_getch();//VS2019平台要加上下划线,不然跑过不去return 0;
}

啦啦~~~记录江苏省C等级考试相关题目相关推荐

  1. 江苏省计算机二级ppt版本,江苏省计算机等级考试二级基础知识.ppt

    <江苏省计算机等级考试二级基础知识.ppt>由会员分享,可在线阅读,更多相关<江苏省计算机等级考试二级基础知识.ppt(59页珍藏版)>请在人人文库网上搜索. 1.江苏省高校非 ...

  2. c语言中不带任何修饰符的浮点变量,江苏省计算机等级考试二级C语言笔试辅导题目...

    <江苏省计算机等级考试二级C语言笔试辅导题目>由会员分享,可在线阅读,更多相关<江苏省计算机等级考试二级C语言笔试辅导题目(155页珍藏版)>请在装配图网上搜索. 1.1 江苏 ...

  3. 江苏计算机二级vb,江苏省计算机等级考试二级vb.ppt

    <江苏省计算机等级考试二级vb.ppt>由会员分享,可在线阅读,更多相关<江苏省计算机等级考试二级vb.ppt(37页珍藏版)>请在人人文库网上搜索. 1.江苏省二级VB考试概 ...

  4. 江苏省计算机等级考试一级b,计算机等级考试一级B辅导

    计算机等级考试一级B辅导 语音 编辑 锁定 讨论 上传视频 <计算机等级考试一级B辅导(习题分析)>是为"江苏省计算机等级考试一级B"考试编写的辅导教材.全书分为11章 ...

  5. 江苏省计算机等级考试注意事项,江苏省计算机等级考试算法及上机注意事项

    <江苏省计算机等级考试算法及上机注意事项>由会员分享,可在线阅读,更多相关<江苏省计算机等级考试算法及上机注意事项(4页珍藏版)>请在人人文库网上搜索. 1.江苏省计算机等级考 ...

  6. 江苏省计算机二级vfp怎么学,江苏省计算机等级考试二级VFPVFP具体要求

    VFP具体要求 (1) 具有计算机应用的基础知识 (2) 掌握关系型数据库的初步知识以及MIS开发的基本能力 (3) 常用面向对象编程的基本知识和开发应用能力 1.VFP 基础知识 (1) 数据库系统 ...

  7. 江苏省计算机c语言等级考试试题,2012江苏省计算机等级考试c语言试题答案.doc...

    2012江苏省计算机等级考试c语言试题答案.doc 2012春3月江苏省C语言考卷和答案(笔试+上机) [本试卷的欠妥处] 完善程序第13题命题违背常规的程序:按照常规,首先对形参k=n,予以保护,则 ...

  8. 江苏计算机等级考试试卷,江苏省计算机等级考试程序设计 试卷

    <江苏省计算机等级考试程序设计 试卷>由会员分享,可在线阅读,更多相关<江苏省计算机等级考试程序设计 试卷(6页珍藏版)>请在人人文库网上搜索. 1.江苏省计算机等级考试学年 ...

  9. 江苏计算机三级偏软全程,数据库系统-江苏省计算机等级考试-三级偏软

    <数据库系统-江苏省计算机等级考试-三级偏软>由会员分享,可在线阅读,更多相关<数据库系统-江苏省计算机等级考试-三级偏软(31页珍藏版)>请在人人文库网上搜索. 1.南京邮电 ...

最新文章

  1. int(1) 和 int(10) 有什么区别?资深开发竟然分不清!
  2. 面试被问到“零拷贝”!你真的理解吗?
  3. Horizon View 6-安装View Composer组件⑵
  4. 从概设流程、审美、设计思路几个方面,漫谈游戏美术设计的思维方式
  5. 贪婪模式与非贪婪模式
  6. 减少SQL Server ASYNC_NETWORK_IO等待类型
  7. 计算机病毒不会直接危害计算机用户的健康,北京语言大学入学测试机考(高起点)计算机基础模拟题...
  8. 《文献管理与信息分析》速看提问
  9. JQuery CSS 基本选择器 详解
  10. 关于ie浏览器不能访问localhost的问题
  11. docker应用篇(1)如何搭建VXXXN
  12. 网络与社会导论之幂律与富者更富及其与长尾、齐普夫定律等的关系
  13. 科学计算与数学建模(选择练习)
  14. 超级教程推荐给大家一个方便简单操作的内网穿透软件frp穿透青龙面板
  15. 解析无线地磁传感器的防水设计
  16. 【Unity】Unity中的异步编程技术详解
  17. 苹果ppt_如何选择一款趁手的PPT软件 | 一千零一夜PPT系列
  18. hive 开窗函数OVER(PARTITION)详解(一)
  19. C语言数据结构静态动态查找表实验
  20. howlerjs 音乐播放插件

热门文章

  1. 接地电阻测试仪的工作原理及技术指标
  2. 转:POI操作Excel:cell的背景颜色类型
  3. 小米电视4A Android8,小米电视4A精简系统教程
  4. 【腾讯鲜为人知的重武器3】首席体验官的刀锋
  5. UE5打包安卓环境搭建
  6. Redis存key出现\xAC\xED\x00\x05t\x00\x14
  7. Mac与Linux的文件系统,Apple为iOS和macOS提供全新文件系统APFS
  8. 宝锋UV-5R说明书下载
  9. POJ 1984 Navigation Nightmare 多权值并查集
  10. php 生成斜体字,JavaScript italics方法入门实例(把字符串显示为斜体)