山西专升本C语言编程题真题

  • 2010年
  • 2011年
  • 2012年
  • 2013年
  • 2014年
  • 2015年
  • 2016年
  • 2017年
  • 2018年
  • 2019年
  • 2020年

所有代码为博主本人思路,并非标准答案,仅供参考!如有错误,欢迎评论提出更正。

2010年

编写一个程序计算1~200之间所有包含3的数(如3、13、30、113等)的和。

  • 解法1:
#include<stdio.h>int main(void)
{int i,temp,sum = 0;for(i = 1;i <= 200;i++){temp = i;while(temp){// 获取当前数字最后一位是否为3if(temp%10 == 3){sum += i;break;}// 如果最后一位不为3,那么除10降位,如32/10=3,145/10=14;temp /= 10;}}printf("1~200之间所有包含3的数字和为:%d\n",sum);
}
  • 解法2:
#include<stdio.h>int main(void)
{int i,sum = 0;for(i = 1;i <= 200;i++)/*注意:该方法只适合求1~299之间所有包含3的数字之和*//* i%10 == 3判断所有个位为3的情况 i%100/10 == 3判断十位为3的情况 因为题目求1~200之>间所有包含3数字的和,并不会出现百位为3的情况(300)*/if(i%10 == 3 || i%100/10 == 3)sum += i;printf("1~200之间所有包含3的数字和为:%d\n",sum);
}

2011年

编写程序输出符合下列要求的全部三位数。
条件:由1、2、3、4四个数字组成,互相同且无重复的所有三位数。

#include<stdio.h>int main(void)
{int i,j,k,sum;for(i = 1;i <= 4;i++){for(j = 1;j <= 4;j++){for(k = 1;k <= 4;k++){if(i != j && i != k && j != k)printf("%d%d%d\t",i,j,k);}}}return 0;
}
  • 实现思路:定义三层循环,分别循环4次代表1、2、3、4的四个数字。三层循环可以让所有三位数情况遍历一次。在循环体内输出符合条件的三位数,条件为i != j && i != k && j != k(互不相同且不重复)。

编写一个程序从键盘输出10个学生的成绩,统计输出最高分,最低分和平均分。

#include<stdio.h>int main(void)
{int score[10],max,min,sum = 0,i;double avg;for(i = 0;i < 10;i++){printf("请输出第%d个学生成绩:",(i+1));scanf("%d",&score[i]);if(i == 0){max = score[i];min = score[i];}if(max < score[i])max = score[i];if(min > score[i])min = score[i];sum += score[i];}avg = sum / 10.0;printf("max-->%d\tmin-->%d\tavg-->%0.2f\n",max,min,avg);return 0;
}

2012年

编写程序找出1~200之间所有既能被5整除又能被7整除的数。

#include<stdio.h>int main(void)
{int i;for(i = 1;i <= 200;i++){if(i % 5 == 0 && i % 7 == 0)printf("%d\t",i);}printf("\n");return 0;
}

有一分数序列
2/1、3/2、5/3、8/5、13/8、21/13、……
求出这个数列的前20项之和。

#include<stdio.h>int main(void)
{double sum = 0.0;int n1 = 1,n2 = 2,t;int i;for(i = 0;i < 20;i++){// 如果是int/int必须要强制类型转换,否则精度丢失。也可以直接将n1.n2的数据类型定义为doublesum += (double)n2/n1;t = n1;n1 = n2;n2 += t;}printf("%f\n",sum);return 0;
}

将一个字符串转换成对应的数字,如字符串"123"转换成123,假设字符串中所有字符都是数字字符。

#include<stdio.h>int main(void)
{char str[] = "123";int i = 0,value = 0;while(str[i] != '\0'){value *= 10;// 因为数字0的ASCII码为48,所以转换到int要减去48value += str[i] - 48;i++;}printf("%d\n",value);return 0;
}

2013年

编写程序输出三位整数中各位数字之和为7的所有数。如整数106、115、124、……均为满足条件的数(1+0+6=7、1+1+5=7、1+2+4=7)。

#include<stdio.h>int main(void)
{int i,n1,n2,n3,sum;for(i = 100;i <= 999;i++){n1 = i % 10;n2 = (i % 100 - n1) / 10;n3 = (i - (n1 + n2 * 10)) / 100;sum = n1 + n2 + n3;if(sum == 7)printf("%d\t",i);}printf("\n");return 0;
}

编写程序将下列四行四列方阵中的数存入二维数组a[4][4]中,并求出其中的最大值及最大值所在数组的行标和列标。

#include<stdio.h>int main(void)
{int a[][4] = {23,44,12,77,13,2,33,12,23,45,12,65,11,9,15,78},i,j,row,col,max = a[0][0];for(i = 0;i < 4;i++)for(j = 0;j < 4;j++){if(max < a[i][j]){row = i + 1;col = j + 1;max = a[i][j];}}printf("max is %d,row and col is (%d,%d)\n",max,row,col);return 0;
}

2014年

编写程序输出1!+2!+3!+…+50!的值。

#include<stdio.h>int main(void)
{int i;long t = 1,sum = 0;for(i = 1;i <= 50;i++){t *= i;sum += t;}printf("sum is %ld\n",sum);return 0;
}

从键盘输入某学生的四科成绩,编写程序实现输出四科的总分、平均分、最高分和最低分。

#include<stdio.h>void main(void)
{double score[4],sum = 0.0,avg = 0.0,min = 0.0,max = 0.0;int i;for(i = 0;i < 4;i++){printf("请输入第%d科成绩:",i+1);scanf("%lf",score+i);}max = score[0];min = score[0];for(i = 1;i < 4;i++){if(max < score[i])max = score[i];if(min > score[i])min = score[i];sum += score[i];}avg = sum / 4;printf("sum is %f\navg is %f\nmax is %f\nmin is %f\n",sum,avg,max,min);
}

2015年

输入10个学生的成绩(整数),需要统计出成绩低于平均分的学生人数,请编程实现。

#include<stdio.h>void main(void)
{int score[10],i,sum = 0,num = 0;double avg = 0.0;for(i = 0;i < 10;i++){printf("请输入第%d个学生成绩:",i+1);scanf("%d",score+i);sum += score[i];}avg = sum / 10.0;for(i = 0;i < 10;i++){if(score[i] < avg)num++;}printf("成绩低于平均分的学生人数为:%d\n",num);
}

一个三位数,如果它的三个位置上的数字的立方和等于这个数本身,就称它为水仙花数。如153=1*1*1+5*5*5+3*3*3,所以153是水仙花数。请编程找出100~500之间的水仙花数。

#include<stdio.h>void main(void)
{int i,n1,n2,n3;for(i = 100;i <= 500;i++){n1 = i % 10;n2 = (i % 100 - n1) / 10;n3 = (i % 1000 - (n1 + n2 * 10)) / 100;if(i == (n1*n1*n1 + n2*n2*n2 + n3*n3*n3))printf("%d\t",i);}printf("\n");
}

2016年

输入两个正整数m和n,求其最大公约数和最小公倍数。

#include<stdio.h>void main(void)
{int m,n,temp;int x;          // 最小公约数int y;          // 最小公倍数printf("请输入正整数m n:");scanf("%d%d",&m,&n);x = m;y = n;if(x < y){temp = x;x = y;y = temp;}while(y != 0){temp = x % y;x = y;y = temp;  }y = m * n / x;printf("最小公约数为:%d\n最大公倍数为:%d\n",x,y);
}

输出以下的杨辉三角形(要求输出10行)。

#include<stdio.h>void main(void)
{int arr[10][10],i,j;for(i = 0;i < 10;i++){arr[i][0] = 1;arr[i][i] = 1;}for(i = 2;i < 10;i++)for(j = 1;j < i;j++)arr[i][j] = arr[i-1][j] + arr[i-1][j-1];for(i = 0;i < 10;i++){for(j = 0;j <= i;j++)printf("%d\t",arr[i][j]);printf("\n");}
}

2017年

输入一个字符,判别它是否为小写字母,如果是,将他转换为大写字母;如果不是,不转换。然后输出最后得到的字符。

有一个3*4的矩阵a,求出其中值最小的那个元素的值,以及其他所在的行号和列号。

#include<stdio.h>void main(void)
{int a[][4] = {{1,2,3,4},{9,8,7,6},{-10,10,-5,2}},i,j,row = 0,col = 0,min = a[0][0];for(i = 0;i < 3;i++)for(j = 0;j < 4;j++){if(min > a[i][j]){min = a[i][j];row = i + 1;col = j + 1;}}printf("max-->%d\n(row,col)-->(%d,%d)\n",min,row,col);
}

2018年

编写函数Fun1,其实现的功能是:判断某一年是否为闰年,如果是返回1,否则返回0。(闰年的条件:能被4整除,但不能被100整除的年份是闰年;能被400整除的年份是闰年)

#include<stdio.h>int Fun1(int year)
{int flag = 0;if(year%4 == 0 && year%100 != 0)flag = 1;if(year%400 == 0)flag = 1;return flag;
}

有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁,问第4个学生岁数,他说比第3个学生大2岁,问第3个学生,又说比第2个学生大2岁,问第2个学生,说比第1个大2岁,最后问第1个学生,他说是10岁。设计一个函数描述上述递归过程,并采用主函数调用的方式,输出第5个学生的年龄。

#include<stdio.h>void main(void)
{int Fun1(int,int);printf("第五个学生年龄是%d岁\n",Fun1(5,0));
}int Fun1(int num,int age)
{if(num == 1)return age += 10;age += 2;return Fun1(--num,age);
}

2019年

2019年与2016年的题目完全相同,请参考2016年。

2020年

编写函数 Fun23 实现功能如下:指针 s 所指向的字母数字串中只包含数字和字母,实现除了字符串前的数字字符保留,其他的数字字符全部删除。例如:如果 s 的内容为1234ABCD44432abcde7890,按规定删除后 s 的内容应当是:1234ABCDabcde

void Fun23(char *s){while(*s - '0' <= 9 && *s - '0' >= 0)s++;while(*s != '\0'){if(*s - '0' <= 9 && *s - '0' >= 0)strcpy(s,s+1);elses++;}
}

编写函数 Fun22 实现如下功能:假设 n 名学生的成绩存储在一个结构体数组变量 scoreLists 中,计算学生成绩的平均分并通过函数返回。其中,结构体类型定义代码如下所示。

struct StudentScore{double score;
};
double Fun22(struct StudentScore *stu,int n){int i;double sum = 0.0,avg;for(i = 0;i < n;i++){sum += stu->score;stu++;        }avg = sum/n;return avg;
}

山西专升本C语言编程题真题相关推荐

  1. 【C语言】山西省2023年专升本考试C程序设计(真题领取+难度解析)

    ⬇️⬇️⬇️点击链接免费下载真题⬇️⬇️⬇️ [免费]2023年山西省专升本考试C程序设计真题资源-CSDN文库 问:为什么选择我的文章? 答:① 可以白嫖真题 ② 本人自学上岸山西传媒学院,升本经验 ...

  2. 广东专插本专升本公共课公共英语科目真题视频习题等资料2023适用

  3. 广东专升本C语言程序设计(完结)

    初心:在一个人摸索下十分痛苦,不知道哪里开始复习,真题以及视频都没有,我希望在自己摸索完之后,能把宝贵的经验分享给需要的人,也希望各位以后也可以帮助更多的人,接下来让我们一起开始学习C语言和数据结构吧 ...

  4. 贵州/全国专升本C语言知识技巧复习资料

    目录: 基础复习 如何准备专业(c语言) 学习方法(技巧) 内容展示: 当然,想要更多资料可以私信或者关注gzh:沐思博客 基础复习: 1.学习C语言,要反复多次地进入学习. 每过段时间再来整理自己的 ...

  5. 专升本C语言——资料复习大全(需要完整版请私信作者)

    更多资料下载链接如下 专升本C语言--资料复习大全 需要全套资料的请私信作者 第1章 程序设计和C语言 1.1 考试内容 一.计算机程序 二.计算机语言 三.C语言的发展及其特点 四.简单的C语言程序 ...

  6. 为什么C语言输出结果总是1,c语言编程问题这个题我哪里错了输出结果总是0

    c语言编程问题这个题我哪里错了输出结果总是0 答案:2  信息版本:手机版 解决时间 2020-05-03 18:57 已解决 2020-05-03 06:15 编写程序,输入两个正整数m和n(100 ...

  7. 专升本C语言试题分析(四)

    专升本C语言试题分析(四) 前言 尝试对C语言专升本题目进行分析,有不对的地方欢迎指正,在边学习边成长! 一.题目 编写程序,输入 10 个实数, x1,x2,x3-x10,按照以下公式计算并输出 S ...

  8. c语言编程迭代分数序列,C语言编程及上机题

    C语言编程及上机题 1. 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,问第10次落 地时,共经过多少米?第10次反弹多高?请编程实现. 2. 试编程序,找出1至99之间的全部同构 ...

  9. 专升本C语言试题分析(一)

    专升本C语言试题分析(一) 前言 尝试对C语言专升本题目进行分析,有不对的地方欢迎指正,在边学习边成长! 一.题目 编写函数 Fun23 实现功能如下:指针 s 所指向的字母数字串中只包含数字和字母, ...

最新文章

  1. connot not ensure the target project location exist and is accessible
  2. 样式集(六)仿微信通讯录样式
  3. safair浏览器页面局部滑动问题
  4. iphone清理缓存小技巧_那些不为人知的iPhone隐藏小技巧
  5. android 快速 顶部,Android RecyclerView 快速滑到顶部
  6. long 比较大小_Long-Term Feature Banks
  7. 在 Linux/UNIX 终端下使用 nload 实时监控网络流量和带宽使用
  8. android app无感知自动升级,Android中实现用户无感知处理后台崩溃
  9. Juypter 代码自动补全
  10. webpack+es6+node+react初实践及总结
  11. 《Windows 系列》- 修改hsot
  12. JAVA虚拟机垃圾回收算法原理
  13. 卷积神经网络CNN基本原理和相关基本概念
  14. sql2000 数据库置疑解决
  15. 有用的函数-系统采集(一)
  16. Git Branching
  17. Conhost.exe是什么进程?为什么会启动运行?图文详解
  18. VS Code + Latex + SumatraPDF 环境(实用)
  19. window系统中打开命令行的四种方式
  20. 最佳的75个网络安全工具

热门文章

  1. 使用vmware worksttion的ovftool工具导出esxi虚拟机的ovf模板
  2. selenium+python上传文件(Button按钮)
  3. WordPress插件推荐,WordPress插件大全
  4. 一步一步教你制作的第一个 WordPress 插件
  5. 温湿度传感器——室内温湿度检测环境系统
  6. 微信跳转手机默认浏览器下载APP(APK)的方法
  7. 小驰私房菜_06_camx Camera facing、orientation信息
  8. cs231n作业-assignment1
  9. windos10本地安装git工具并使用
  10. Java文件复制的三种方法