题目

  • 题目一
    • 题目描述
    • 题解
  • 题目二
    • 题目描述
    • 题解
  • 题目三
    • 题目描述
    • 题解
  • 题目四
    • 题目描述
    • 题解
  • 题目五
    • 题目描述
    • 题解
  • 题目六
    • 题目描述
    • 题解
  • 题目七
    • 题目描述
    • 题解

题目一

题目描述

编写函数,寻找具有n个元素的一维数组中的最大值和最小值,并返回数组元素的平均值,函数原形如下:
double fun(int a[],int n,int *max,int *min);
如输入
5
2 4 5 3 1
则输出为
5
1
3.000000

题解

#include<stdio.h>
double fun(int a[],int n,int *max,int *min)
{int i,s;*max=*min=s=a[0];//把最大值最小值初始赋为数组中第一个数for(i=1;i<n;i++){if(a[i]>*max)  *max=a[i];//找出最大值并赋给*maxif(a[i]<*min) *min=a[i];//找出最小值并赋给*maxs+=a[i];//求和}return (float)s/n;//返回浮点数
}
int main()
{int n,max,min,i,a[100];float avg;scanf("%d",&n);for(i=0;i<n;i++)  scanf("%d,",&a[i]);avg=fun(a,n,&max,&min);//把max,min地址传入函数以便函数能修改它的值printf("%d\n%d\n%f\n",max,min,avg);return 0;
}

题目二

题目描述

编写函数,将一个二进制数(以字符串形式表示)转换为十进制数。函数原型如下
double binTodec(char *str);
其中str为接收的二进制数,函数的返回值为对应的十进制数。
如输入
1010
则输出为
10
又如输入
100
则输出为
4

题解

#include<stdio.h>
#include<math.h>
#include<string.h>double binTodec(char* str);
main() {char str[30] = {'0'};scanf("%s", str);double binTode = binTodec(str);printf("%g",binTode);
}double binTodec(char* str) {int as, sum=0;for (int i = strlen(str)-1; i>=0; i--){as = str[i] - '0';sum += (pow(2, strlen(str)-i-1) * as);}return sum;
}

题目三

题目描述

编写函数,去掉一个字符串(长度不超过80)中除头部和尾部空格外的所有空格,并编写主函数进行调用测试(即返回去掉空格后的字符串。)。
:字符串头部或尾部可能有多个空格。

题解

#include<stdio.h>
#include<string.h>int reTodec(char* str);
main() {char str[80];gets(str);reTodec(str);printf("%s", str);
}reTodec(char* str) {char str1[80] = {0};int i = 0;int j = 0;while (str[i]==' ')//头部空格保存{str1[i] = str[i];i++;}for ( i,j=i; i <strlen(str); i++)//两个变量的for循环,因为一个是str一个是str1{if (str[i] != ' '){str1[j]=str[i];j++;}}while (str[i-1] == ' ')//尾部空格保存{str1[j] = str[i-1];j++;i--;}strcpy(str, str1);
}

题目四

题目描述

输入一个字符串(其长度不超过81),分别统计其中26个英文字母出现的次数(不区分大、小写字母),并按字母出现次数从高到低排序,若次数相同,按字母顺序排列。字母输出格式举例,例如:A-3,表示字母A出现3次,C-0表示字母C没有出现。

输入格式
第一行为输入,占一行,输入的字符串可能含有空格
输出格式
第二行为输出,占一行。按照字母输出格式从高到低输出,各字母输出之间用一个空格字符分隔。
输入样例
123abcAABXxwvUu+
输出样例
A-3 B-2 U-2 X-2 C-1 V-1 W-1 D-0 E-0 F-0 G-0 H-0 I-0 J-0 K-0 L-0 M-0 N-0 O-0 P-0 Q-0 R-0 S-0 T-0 Y-0 Z-0

题解

//插入排序法
#include<stdio.h>
#include<string.h>int main()
{char str[81];gets(str);int letter_stat[26] = {0};//对应字母出现的次数char letter[26] = { ' ' };//便于后面打印对应大写字母for (int i = 0; i < 26; i++){letter[i] = i + 'A';}int i = 0;while (str[i]){int k = 0;if (str[i] >= 'A'&&str[i] <= 'Z'){k = str[i] - 'A';letter_stat[k]++;}else if (str[i] >= 'a'&&str[i] <= 'z'){k = str[i] - 'a';letter_stat[k]++;}i++;}for (int i = 0; i < 26; i++)//根据出现次数排序(插入排序法){int k = letter_stat[i];int temp = letter[i];int j = i - 1;while (j >= 0 && letter_stat[j] < k){letter_stat[j + 1] = letter_stat[j];letter[j + 1] = letter[j];j--;}letter_stat[j + 1] = k;letter[j + 1] = temp;}for (int i = 0; i < 25; i++){printf("%c-%d ", letter[i],letter_stat[i]);}printf("%c-%d", letter[25], letter_stat[25]);return 0;
}

题目五

题目描述

编写程序,按下列规则倒序输出子字符串。先输出最后的一个字符,再输出最后两个字符串,再输出后面三个字符…, 最后输出整个字符串。输入的字符串长度不超过100。
输入格式:一个字符串
输出格式:空格隔开的子字符串,用一个空格间隔。
输入输出样例如下所示:
输入样例:Hello
输出样例:o lo llo ello Hello

题解

#include<stdio.h>
#include<string.h>main() {char str[100];scanf("%s", str);for (size_t i = 0; i < strlen(str)-1; i++)//两重循环就可解决问题{for (size_t j = strlen(str) - i-1; j <= strlen(str)-1; j++){printf("%c", str[j]);}printf(" ");}printf("%s", str);
}

题目六

题目描述

编写程序,按下列规则倒序输出子字符串。先输出最后的一个字符,再输出最后两个字符串,再输出后面三个字符…, 最后输出整个字符串。输入的字符串长度不超过100。
输入格式:一个字符串
输出格式:空格隔开的子字符串,用一个空格间隔。
输入输出样例如下所示:
输入样例:Hello
输出样例:o lo llo ello Hello

题解

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
typedef long long ll;
ll gcd(ll x,ll y)//求最大公约数
{return y ? gcd(y,x%y):x;
}
void OUTput(ll a,ll b)//按照格式来去输出
{ll e = a/b;a -= e*b;if(e == 0 && a == 0)printf("0");if(e != 0)printf("%lld",e);if(a != 0 && e!= 0)printf(" ");if(a != 0)printf("%lld/%lld",a,b);return;
}
int main()
{ll n;ll a,b,c,d;scanf("%lld",&n);scanf("%lld/%lld",&a,&b);for(int i=1;i<=n-1;i++){scanf("%lld/%lld",&c,&d);ll g = gcd(b,d);//两个分母的最大公约数 ll mul = b/g*d;//两个分母的最小公倍数 ll e1 = mul/b;//第一个分数扩大的倍数 ll e2 = mul/d;//第二个分数扩大的倍数 a = a*e1 + c*e2;//相加后的分子 b = mul;if(a != 0)//排除当分子为零的情况 {ll gg = gcd(a,b);a /= gg;b /= gg;}}OUTput(a,b);return 0;
}

题目七

题目描述

题目描述
恺撒加密法加密规则是:将原来的小写字母用字母表中其后面的第3个字母的大写形式来替换,大写字母按同样规则用小写字母替换,对于字母表中最后的三个字母,可将字母表看成是首未衔接的。如字母c就用F来替换,字母y用B来替换,而字母Z用c代替。编程实现以下功能:输入一个字符串,将其加密后输出。
输入输出格式:
输入:仅含有字母的字符串
输出:加密后的字符串
样例:
输入为:
AMDxyzXYZ
输出为:
dpgABCabc

题解

#include<stdio.h>
#include<string.h>
main() {int i = 0;char a[100];scanf("%s",a);for (i; i < strlen(a); i++) {if (a[i] >= 'a' && a[i] <= 'z') {a[i] = a[i] + 3 - 'a' + 'A';if (a[i] > 'Z')   a[i] = a[i] - 26;}else if (a[i] >= 'A' && a[i] <= 'Z') {a[i] = a[i] + 3 - 'A' + 'a';if (a[i] > 'z')   a[i] = a[i] - 26;}printf("%c", a[i]);}
}

大计基编程题(第十一周)相关推荐

  1. 大计基编程题(第十周)

    第一题 叛逆期的小明什么都喜欢反着做,连看数字也是如此(负号除外),比如: 小明会把1234它看成4321:把-1234看成-4321:把230看成032 (032=32):把-230看成-032(- ...

  2. 大计基编程题(第十三周)

    排序算法 如果不太了解各种排序算法可以参考菜鸟教程(希望对你有帮助) 菜鸟教程排序算法 题目 排序算法 题目一 题目描述 题解 题目二 题目描述 题解 题目三 题目描述 题解 题目四 题目描述 题解 ...

  3. 大计基编程题(第十二周)

    排序算法 如果不太了解各种排序算法可以参考菜鸟教程(希望对你有帮助) 菜鸟教程排序算法 题目 排序算法 题目一 题目描述 题解 题目二 题目描述 题解 题目三 题目描述 题解 题目四 题目描述 题解 ...

  4. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第十一周题解(个人向仅供参考)

    第11周 指针一 1 利用指针编写程序,统计字符串的长度.(10分) 题目内容:利用指针编写程序,统计字符串的长度.(不要使用求字符串长度函数) 输入格式: gets() 输出格式: "Le ...

  5. C语言编程>第二十一周 ⑥ 请补充main函数,该函数的功能是:从键盘输入一个字符串,即一个指定,然后把这个字符及其后面的所有字符全部删除,结果仍然保存在原串中。

    例题:请补充main函数,该函数的功能是:从键盘输入一个字符串,即一个指定,然后把这个字符及其后面的所有字符全部删除,结果仍然保存在原串中. 例如:输入"1234567",指定字符 ...

  6. C语言编程>第十一周 ⑥ 某学生的记录由学号、5门课程成绩和平均分组成,学号和5门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分,并放在记录的ave成员中。

    例题:某学生的记录由学号.5门课程成绩和平均分组成,学号和5门课程的成绩已在主函数中给出.请编写函数fun,它的功能是:求出该学生的平均分,并放在记录的ave成员中.请自己定义正确的形参.. 例如,若 ...

  7. C语言编程>第二十一周 ② 请补充main 函数,该函数的功能是:把一维数组中的元素逆置,结果仍然保存在原数组中。

    例题:请补充main 函数,该函数的功能是:把一维数组中的元素逆置,结果仍然保存在原数组中. 注意:仅在横线上填写所需的若干表达式或语句,请勿改动函数中的其它任何内容. 代码如下: #include& ...

  8. C语言编程>第十一周 ② N名学生的成绩已在主函数中放入一个带头结点的链表结构中,a指向链表的头结点。请编写函数fun,它的功能是:找出学生的最高分,由函数返回。

    例题:N名学生的成绩已在主函数中放入一个带头结点的链表结构中,a指向链表的头结点.请编写函数fun,它的功能是:找出学生的最高分,由函数返回. 请勿改动主函数main与其它函数中的任何内容,仅在函数f ...

  9. C语言编程>第十一周 ⑤ 请编写一个函数,用来删除字符串中的所有空格。

    例题:请编写一个函数,用来删除字符串中的所有空格. 例如,输入we l come,则输出为welcome. 请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句. ...

最新文章

  1. 实现2D全景图的中心视野变换
  2. 孔雀翎----《Programming C# 》中文版 第4版
  3. linux 读取大量图片 内存,10 张图帮你搞定 TensorFlow 数据读取机制
  4. 《企业云桌面实施》-小技巧-04-VMWare Workstation-虚拟机强行关机开机
  5. 非线性振动 matlab,用MATLAB分析非线性弹簧振子的振动
  6. 教你一招画素描, 不写程序时陶冶陶冶情操
  7. 初学ctypes:打开进程并返回相关信息
  8. glacier2_Amazon Glacier的Scala客户端
  9. 菜鸟学数据库(四)——超键、候选键、主键、外键
  10. 鸿蒙应用学习笔记01:搭建鸿蒙应用开发环境
  11. gradle项目启动报错_如何用IDEA创建SpringBoot Gradle多项目工程?
  12. 计算机设备的存放,哪一种设备不能用于长期保存计算机数据
  13. snownlp中文文本情感分析
  14. 开发团队人员配备及工作分配
  15. 数据结构和算法-查找算法之黄金分割查找法
  16. 微信小程序的APPID问题
  17. HIS系统门急诊医保实时结算接口测试
  18. 齐家坪水电站施工组织设计(lunwen+任务书+外文翻译+cad图纸)
  19. IDEA插件下载慢怎么办,几步搞定
  20. discuz的htm模板代码分析

热门文章

  1. html 文本换行 \n 不换行 空格无效
  2. 【Druid】(八)Apache Druid 核心插件 Kafka Indexing Service SLS Indexing Service
  3. MySQL三种插入方式
  4. cesium采用primitive方式加载geojson数据
  5. 【sql】sql执行顺序
  6. matlab赌徒破产模型转移矩阵,[转载]【转】生成土地利用变化转移矩阵的方法
  7. Maven命令行 打包
  8. 覃超数据结构(二) 栈和队列
  9. [经验分享] 覃超直播课学习笔记
  10. Win10--在右键菜单中添加cmd.exe(在此处打开CMD窗口)