Inspiration666
关注“程序艺术室”回复“C++精讲”获取视频教程!专注后端、算法、多线程!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
必看:C语言高效学习方法(附经典试题详解)
C试题100例详解专栏写在前面正片开始:问题描述课题分析算法描述自然语言方式描述流程图方式描述源代码试验结果分析与讨论写在前面本专栏提供多于100道C试题解答,并且会一直不定期更新,使用的过程中如果有看不懂的地方,可以通过扫描文章末尾的公众号免费向我寻求解答。如果在做题的过程中有遇到专栏中没有的题目,也欢迎向我寻求解答,我将尽力为你解答!正片开始:问题描述请编写一个函数,函数功能是删除字符串中的所有空格,例如,主函数中输入”asd af aa z67”,则输出为”asdafaaz67”.课题分析原创 2021-11-29 21:11:18 · 3493 阅读 · 2 评论 -
121.粉丝投稿: (1) 将自己学号后10个同学的学号(学号最后两位)存入数组(直接在程序中赋值,不用scanf读入),并将其逆序输出(循环实现)。将第5个数与第9个数交换(用数组实现);将第6个
(2) 结构体数组实现以下功能:要求:定义一个有40个学生的结构体数组,对前3个学生(从自己开始数3个同学)的学号、姓名(可用拼音)、成绩直接赋值(不要用scanf),计算三个同学平均成绩,并将3个学生的 数据在屏幕上输出(要求使用循环语句)。(1) 将自己学号后10个同学的学号(学号最后两位)存入数组(直接在程序中赋值,不用scanf读入),并将其逆序输出(循环实现)。*关注微信公众号“程序艺术室”回复“C试题”获取包含本专栏在内的其他C试题文档。*本套题可用于复习一些学校考研复试的C程序设计科目。原创 2023-09-05 16:51:57 · 1290 阅读 · 1 评论 -
120.阿克曼(Ackmann)函数A(m,n)中,m,n定义域是非负整数(m<=3,n<=10),计算如下函数值
阿克曼函数中,m,n定义域是非负整数(m<=3,n<=10),计算如下函数值题目:阿克曼(Ackmann)函数A(m,n)中,m,n定义域是非负整数(m<=3,n<=10),函数值定义为:效果讲解代码题目:阿克曼(Ackmann)函数A(m,n)中,m,n定义域是非负整数(m<=3,n<=10),函数值定义为:输入格式:输入m和n。输出格式:函数值。输入样例:2 6输出样例:15效果讲解这道题难度不大,主要考察C的条件语法,按题目给的原创 2022-05-11 19:13:07 · 1914 阅读 · 0 评论 -
119.编写函数,该函数的功能是计算下列级数之和,和值返回调用函数,数据由主函数输入
计算下列级数之和题目:编写函数,该函数的功能是计算下列级数之和,和值返回调用函数,数据由主函数输入输入测试数据:10 0.3(其中n=10,x=0.3)程序运行结果:s=1.349859效果讲解这道题主要考察对公式的理解,其次考察对浮点型数字的运用。1.这个算式可分解成S=x^0/0! + x^1/1! + x^2 /2!+…+x^n /n!做循环时可以把n作为终止条件2.观察这个公式会发现原式=(-1)2*1/1+(-1)3 *1/2+…+…因此本地需要引入math.h库,用到库中原创 2022-05-11 10:09:51 · 1591 阅读 · 0 评论 -
118.设计函数encript(char *),实现对输入的一行小写字母进行加密处理。加密方法:每一个字母用其后的第三个来代替,如字母a用d代替,z用c代替
一、题目:118.设计函数encript(char *),实现对输入的一行小写字母进行加密处理。加密方法:每一个字母用其后的第三个来代替,如字母a用d代替,z用c代替二、效果三、讲解1.首先搞清楚字母的ASCII码值区间A ~ Z是65 ~ 90,a ~ z 是 97~1222.解题思路这道题当然可以直接用多个判断语句去做,当遍历到的ASCII码是120时,将字符改成a,当遍历到的ASCII码是121时,将字符改成b…但是如果题目改成“用其后第8个字母,或者第9个字母”这样显然是不行的思原创 2022-03-29 10:17:16 · 2519 阅读 · 0 评论 -
117.设计函数isPrimNum,函数的功能是:判断一个数是否为素数
117.设计函数isPrimNum,函数的功能是:判断一个数是否为素数题目:设计函数isPrimNum,函数的功能是:判断一个数是否为素数;在主函数中输入一个整数,然后输出是否是素数的信息效果讲解代码题目:设计函数isPrimNum,函数的功能是:判断一个数是否为素数;在主函数中输入一个整数,然后输出是否是素数的信息效果讲解知识点:什么是素数? 素数也称为质数:是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。100以内的素数共25个,如下: 2,3,5,7,11,13,1原创 2022-03-13 13:08:03 · 2284 阅读 · 0 评论 -
116.设计函数getSum,函数的功能是:根据以下公式计算s,计算结果作为函数值返回
116.设计函数getSum,函数的功能是:根据以下公式计算s,计算结果作为函数值返回1.题目:设计函数getSum,函数的功能是:根据以下公式计算s,计算结果作为函数值返回2.效果3.讲解4.优化前的代码5.优化后的代码1.题目:设计函数getSum,函数的功能是:根据以下公式计算s,计算结果作为函数值返回n通过形参传入;然后在主函数中调用该函数,输出其计算的结果。s=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n).2.效果3.讲解这道题主要考察循环的使用,如果能想原创 2022-03-13 12:31:21 · 2991 阅读 · 0 评论 -
115.实现B=A+A`,即把矩阵A加上矩阵A的转置,存放在矩阵B中
实现B=A+A`,即把矩阵A加上矩阵A的转置,存放在矩阵B中原创 2021-12-22 12:46:31 · 2613 阅读 · 1 评论 -
114.计算并输入下列多项式的值:S=(1-1/2)+(1/3-1/4)+......+(1/(2n-1)-1/2n)
114.计算并输入下列多项式的值:S=(1-1/2)+(1/3-1/4)+......+(1/(2n-1)-1/2n)原创 2021-12-22 11:30:46 · 2289 阅读 · 0 评论 -
113.输入10个国家的名字,按由小到大排序
输入10个国家的名字,按由小到大排序原创 2021-12-12 15:26:20 · 4297 阅读 · 0 评论 -
112.编写一个函数,在主函数中从键盘输入任意两个二位整数a,b。编写函数将其中较小数的十位数与较大数的个位数数字连接起来生成一个新的两位数,并返回x的值。
112.编写一个函数,在主函数中从键盘输入任意两个二位整数a,b。编写函数将其中较小数的十位数与较大数的个位数数字连接起来生成一个新的两位数,并返回x的值。例如a=12 b=56 则x=16a=45 b=23 则x=25;效果代码#include<stdio.h>int fun(int a,int b){ int m;//保存较小数的十位数 int n;//保存较大数的个位数 if(a>b){ m=b-b%10; n=a%10; }else{ m=a-a%原创 2021-06-21 09:31:14 · 2031 阅读 · 0 评论 -
111.随机生成100个数,筛选素数,写入文件
111.随机生成100个数,筛选素数,写入文件效果代码#include <stdio.h>#include <stdlib.h>#include <math.h>#define N 100 int main(int argc, char *argv[]) { int num[N]; FILE *fp = NULL; fp = fopen("D:/test.txt", "w");//w+ 打开一个文本文件,允许读写文件。如果文件已存在,则文件会被截原创 2021-06-10 15:38:16 · 788 阅读 · 4 评论 -
110.随机生成10个数,做冒泡排序和选择排序,排序过程中会做两数比较,分别比较了多少次?
110.随机生成10个数,做冒泡排序和选择排序,排序过程中会做两数比较,分别比较了多少次?效果代码#include <stdio.h>#include <stdlib.h>#define N 10 int main(int argc, char *argv[]) { int num[N]; srand((unsigned)time(NULL)); printf("为冒泡排序生成的随机数:"); for(int i=0;i<N;i++){ num[i]原创 2021-06-10 14:07:06 · 540 阅读 · 1 评论 -
109.编写函数fun,它的功能是计算s,s作为函数值返回。在C语言中可调用log(n)函数求ln(n)。log函数的引用说明是:double log(double x)。
109.编写函数fun,它的功能是计算s:s作为函数值返回。在C语言中可调用log(n)函数求ln(n)。log函数的引用说明是:double log(double x)。例如,若m的值为: 20,fun函数值为: 6.506583。效果代码#include<conio.h>#include<math.h>#include<stdio.h>double fun(int m){ double s; int i; for(i=1;i<=m;i++原创 2021-06-08 20:03:53 · 2853 阅读 · 1 评论 -
使用DEVC创建C语言工程
一、创建工程二、创建控制台工程三、新建工程文件夹四、保存工程到工程文件夹五、编写C代码六、保存C代码七、编译并运行八、运行结果原创 2021-06-02 14:28:16 · 3147 阅读 · 0 评论 -
108.对一个二维整型数组num[ROWS][COLUMNS]中的每个元素生成100-1000之间的随机数
108.对一个二维整型数组num[ROWS][COLUMNS]中的每个元素生成100-1000之间的随机数(ROWS,COLUMNS的值为4)效果代码#include <stdio.h>#include <stdlib.h>#define ROWS 4#define COLUMNS 4int main() { int num[ROWS][COLUMNS]; srand((unsigned)time(NULL)); int i; int j; for(i=0;原创 2021-05-31 11:59:11 · 633 阅读 · 2 评论 -
107.将字符串中第一个连续数字转换成整数作为函数值返回
107.请编写一个fun函数,实现如下功能:将一个字符串中第一个连续数字转换成整数,作为函数值返回,否则返回0(程序的输入输出要有提示)比如:字符串中的内容为:“abc123 def45gh”,则函数的返回值为123。#include <stdio.h>#include <math.h>int fun(char *s){ int n=0; int arr[30]; while(s[n]!='\0'){//计算字符串长度 n++; } int m=0; int k原创 2021-05-26 11:48:05 · 666 阅读 · 1 评论 -
使用VC++6.0创建.cpp文件工程
一、提前建好一个空的文件夹,文件名以项目名命名二、文件—>新建三、四、五、六、七、八、九、结果原创 2021-03-03 18:28:52 · 3739 阅读 · 2 评论 -
106.给定一组数和一个给定的数n,求出在这一组数中,比n大的所有数的平均数,输入的第一行为一个整数m,表示输入的组数。每组输入的格式如下:第一行有两个整数k,n(1<k<100),分别代表这组数的个
106.给定一组数和一个给定的数n,求出在这一组数中,比n大的所有数的平均数,输入的第一行为一个整数m,表示输入的组数。每组输入的格式如下:第一行有两个整数k,n(1<k<100),分别代表这组数的个数和给定的数。接下来的k行,每行一个整数,表示这组数的元素。如果这组数中存在比给定数大的数的话,就输出所有大于该定数的数的平均值,否则输出-1.#include <stdio.h>#include <stdlib.h>/* run this program using原创 2020-12-17 22:35:25 · 1013 阅读 · 2 评论 -
DEV-C++报Error:‘for‘ loop initial declarations are only allowed in C99 mode解决办法
一、二、C语言编程练习题系列*本套题可用于复习一些学校考研复试的C程序设计科目*本套题可用于复习二级C*关注微信公众号“程序艺术室”回复“C试题”获取包含本专栏在内的其他C试题文档;*您的点赞加关注,是我更新的最大动力!...原创 2020-12-16 23:05:24 · 1035 阅读 · 0 评论 -
105.编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。
105.请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。例如,s所指字符串中的内容是:2def35adh25 3kjsdf 7/kj8655x,函数fun返回值为:11#include <stdio.h>#include <stdlib.h>int fun(char *s){//此时s是字符串数组的首地址 int i,k=0; while(*s!='\0'){//*s表示取地址上的字符值 if(*s>=48&&原创 2020-12-16 22:47:09 · 10406 阅读 · 10 评论 -
103.N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,它的功能是:求出平均分,由函数值返回。
N名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点。请编写函数fun,它的功能是:求出平均分,由函数值返回。例如:若学生的成绩为:85,76,69,85,91,72,64,87,则平均值应当是:78.625#include <stdio.h>#include <stdlib.h>struct Node{ int score; struct Node *next;}; double fun(int N,struct Node *h){ d原创 2020-12-11 21:56:48 · 1807 阅读 · 0 评论 -
102.用数组实现约瑟夫环
#include <iostream>using namespace std;int main(int argc, char** argv) { int n,m; cin>>n;//人数 cin>>m;//周期退出队列数 int index=0;//当前位置 int step=1;//行进步数 int count=0;//退出的人数 int people[n]; int outs[n]; int flag[n]; for(int i=0原创 2020-07-23 22:14:20 · 504 阅读 · 0 评论 -
101.定义一个NXN的二维数组,并在主函数中手动赋值(自定义输入N),使数组左下半三角元素中的值全部置成0。
101.定义一个NXN的二维数组,并在主函数中手动赋值(自定义输入N)。请编写函数fun(int a[][N],该函数的功能是:使数组左下半三角元素中的值全部置成0。#include <stdio.h>#include <stdlib.h>void fun(int **a,int n){//或者a[][3] for(int i=0;i<n;i++){ for(int j=0;j<i+1;j++){ a[i][j]=0; } }}int mai原创 2020-05-28 00:57:10 · 4228 阅读 · 3 评论 -
45.古代某工地需要搬运砖块,已知男人每人每次搬3块,女人每人每次搬2块,小孩两人每次抬一块,现有45人一次正好搬完全部砖块,请问男人、女人、小孩各几人?
古代某工地需要搬运砖块,已知男人每人每次搬3块,女人每人每次搬2块,小孩两人每次抬一块,现有45人一次正好搬完全部砖块,请问男人、女人、小孩各几人?#include <stdio.h>#include <stdlib.h>int main() { for(int i=1;i<=15;i++){ for(int j=1;j<=22;j++){ for(int k=2;k<90;k+=2){ if(i*3+2*j+k==45){ p原创 2020-05-22 18:59:30 · 9222 阅读 · 0 评论 -
100.从键盘输入两个正整数到m、n中,求它们的最大公约数和最小公倍数。
从键盘输入两个正整数到m、n中,求它们的最大公约数和最小公倍数。#include <stdio.h>#include <stdlib.h>int main() { int m,n,m1,n1,r; printf("请输入两个正整数:"); scanf("%d %d",&m,&n); m1=m; n1=n; r=m%n; while(r!=0){ m=n; n=r; r=m%n; } printf("gcd(%d,%d)=%d\n"原创 2020-05-22 18:51:36 · 1699 阅读 · 0 评论 -
99.在屏幕上打印如下规律的图形,具体行数由键盘输入。
在屏幕上打印如下规律的图形,具体行数由键盘输入。#include <stdio.h>#include <stdlib.h>int main() { int x; printf("请输入行数:"); scanf("%d",&x); int k=1; int n=x; for(int i=1;i<=x;i++){//只控制层数 for(int m=n;m>1;m--){ printf(" "); } for(int j=0;j原创 2020-05-22 18:49:26 · 917 阅读 · 0 评论 -
98.输入某年某月某日,判断这一天是这一年的第几天?
98.输入某年某月某日,判断这一天是这一年的第几天?#include<stdio.h>main(){ int y,m,d,sum,leap; printf("请输入年,月,日:"); scanf("%d,%d,%d",&y,&m,&d); switch(m){ case 1:sum=0;break; case 2:sum=31;break; case 3:sum=31+28;break; case 4:sum=31+28+31;break;原创 2020-05-15 14:21:44 · 333 阅读 · 0 评论 -
97.某人用100元钱去买100只活鸡,公鸡5元1只,母鸡3元1只,小鸡1元3只,问三种鸡都要买到,如何买才能使钱不超不剩?
97.某人用100元钱去买100只活鸡,公鸡5元1只,母鸡3元1只,小鸡1元3只,问三种鸡都要买到,如何买才能使钱不超不剩?#include <stdio.h>main(){ int m,w,i,j,k;//i,j,k for(i=1;i<20;i++){ for(j=1;j<33;j++){ for(k=3;k<300;k+=3){ m=5*i+3*j+k/3; w=i+j+k; if(m>100||w>100){//价格原创 2020-05-15 14:20:24 · 2328 阅读 · 0 评论 -
39.请编写函数fun,该函数的功能是:移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。
39.请编写函数fun,该函数的功能是:移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。例如,一维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10;p的值为3。移动后,一维数组中的内容应为:5,6,7,8,9,10,1,2,3,4。#include <stdio.h>#include <string.h>void fun(int *a,int p){ int temp; for(int i=0;i&l原创 2020-05-13 17:06:42 · 7914 阅读 · 1 评论 -
38.请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。
38.请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3。#include <stdio.h>int fun(char *s,char c){ int n=0; for(int i=0;s[i]!='\0';i++){ if(s[i]==c){ n++; } } return n;}int main() { char s[20]; char c; printf("请输入字符原创 2020-05-13 17:05:50 · 10748 阅读 · 6 评论 -
37.某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。
37.某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。例如,若学生的成绩是85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应当是78.875。#include <stdio.h>#define N 8typedef struct{ char num[10];//学号 double s[N];//8门成绩 double ave原创 2020-05-13 17:03:38 · 5952 阅读 · 2 评论 -
36.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
36.假定输入的字符串中只包含字母和号。请编写函数fun,它的功能是:将字符串中的前导号全部移到字符串的尾部。例如,字符串中的内容为ABCDEFG,移动后,字符串中的内容应当是ABCDEF*G***********。在编写函数时,不得使用C语言提供的字符串函数。#include <stdio.h>char *fun(char *s){ //统计前导有多少个* int n=0; while(s[n]=='*'){ n++; } printf("前导有%d个*\n",n); /原创 2020-05-13 17:02:53 · 10371 阅读 · 0 评论 -
34.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不只一个,函数返回分数最高
34.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不只一个,函数返回分数最高的学生的人数。#include <stdio.h>#include <string.h>#define N 16struct STREC{ char mum[10]; int score;};int fun(STREC *a,STREC *h){ int ms=a[0]原创 2020-05-13 17:02:03 · 5076 阅读 · 0 评论 -
33.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。
33.假定输入的字符串中只包含字母和号。请编写函数fun,它的功能是:使字符串中尾部的号不得多于n个;若多于n个,则删除多余的号;若少于或等于n个,则什么也不做,字符串中间和前面的号不删除。例如,字符串中的内容为ABCDEFG******,若n的值为4,删除后,字符串中的内容则应当是ABCDEFG***;若n的值为7,则字符串中的内容仍为 ABCDEFG******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。#include <stdio.h>char *fun原创 2020-05-13 17:01:01 · 3519 阅读 · 0 评论 -
32.请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。
32.请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若s所指字符串中的内容为ABCDEFGl2345,其中字符A的ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是135。#include <stdio.h>char *fun(char *原创 2020-05-13 17:00:14 · 4583 阅读 · 0 评论 -
31.请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。
31.请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。例如,若s所指字符串中的内容为ABCDEFG123456,其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是246。#include <stdio.h原创 2020-05-13 16:59:26 · 3946 阅读 · 0 评论 -
30.请编写一个函数fun,它的功能是:求出一个2xM整型二维数组中最大元素的值,并将此值返回调用函数。
30.请编写一个函数fun,它的功能是:求出一个2xM整型二维数组中最大元素的值,并将此值返回调用函数。#include <stdio.h>#include <stdlib.h>int fun(int a[2][5]){ int m=0; for(int i=0;i<2;i++){ for(int j=0;j<5;j++){ if(m<a[i][j]){ m=a[i][j]; } } } return m;}int m原创 2020-05-13 16:58:36 · 4565 阅读 · 0 评论 -
29.请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
29.请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入abc4EFg,则应输出aBc4EFg。#include <stdio.h>char *fun(char *ss){ int z; for(int i=1;ss[i]!='\0';i+=2){ z=ss[i]; if(z>97&&z<122){ z-=32; ss[i]=z; } } retu原创 2020-05-13 16:57:55 · 6229 阅读 · 0 评论 -
28.找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。 主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值
28.请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。#include <stdlib.h>#include <stdio.h>void fun(int a[],int n,int *max,int *d){ int index=0; for(int i=1;i<n;i++)原创 2020-05-13 16:56:51 · 3407 阅读 · 0 评论