写在前面:

本系列博客所有代码均为个人学习记录。并非标准例程,也不是最优解。遇到问题多点思考、少点借鉴,才能向前冲冲冲!

1、所有数字之和(题目编号:18065):

编写一个函数,计算一个整数的所有数字之和

#include "stdio.h"int sum(int n)
{_______________________
}main()
{int n;scanf("%d", &n);printf("%d", sum(n));
}

输入格式:

由键盘输入一个整数

输出格式:

输出该数各位数字之和

输入样例:

123

输出样例:

6

提示:

1+2+3=6

代码实现(参考):

#include "stdio.h"
int sum(int n){int sum=0;while(n>0){all+=n%10;n/=10;}return all;
}
main()
{int n;scanf("%d", &n);printf("%d", sum(n));
}

系统标程(参考):


标程$block1$int ret=0;while(n>0){ret+=n%10;n/=10;}return ret;
$end1$

2、元音字母(题目编号:18066):

描述:

编写一个函数,挑选一个字符串中的所有元音字母构成并返回一个新的字符串

#include "stdio.h"void yuan(char *s,char *s2)
{_______________________
}main()
{char str[81], str2[81];gets(str);yuan(str,str2);printf("%s", str2);
}

输入格式:

由键盘输入一行字符,以’\n’结束

输出格式:

输出新构成的字符串

输入样例:

I am good

输出样例:

Iaoo

代码实现(参考):

#include "stdio.h"void yuan(char *s,char *s2)
{char yuanyin[11]="aeiouAEIOU";int s2loc=0;for(int i=0; i<81; i++){s2[i]='\0';if(s[i]=='\0')break;for(int j=0; j<10; j++){if(s[i] == yuanyin[j]){s2[s2loc]=s[i];s2loc++;}}}
}main()
{char str[81], str2[81];gets(str);yuan(str,str2);printf("%s", str2);
}

系统标程:

$block1$while(*s!='\0'){if(*s=='a' ||*s=='o' ||*s=='e' ||*s=='i' ||*s=='u' ||*s=='A' ||*s=='O' ||*s=='E' ||*s=='I' ||*s=='U'){*s2=*s; s2++;}s++;}*s2='\0';
$end1$

3、字符统计(题目编号:18067):

描述:

编写一个函数,统计一个字符串中字母、数字和空格的个数。使用全局变量存放字母和数字个数,函数返回值是空格个数

#include <stdio.h>
#include <string.h>
#include <math.h>int nL=0, nN=0;int statistics(char *s)
{_______________________
}int main()
{char s[81];int nS;gets(s);nS = statistics(s);printf("%d %d %d\n", nL, nN, nS);return 0;
}

输入格式:

输入一行字符,以’\n’符结束

输出格式:

统计结果

输入样例:

Ab 45

输出样例:

2 2 1

代码实现(参考):

#include <stdio.h>int nL=0, nN=0;int statistics(char *s)
{int spaceNum=0;for(int i=0; s[i]!='\0'; i++){if(s[i]>='A'&&s[i]<='z')nL++;if('0'<=s[i]&&s[i]<='9')nN++;if(s[i]==' ')spaceNum++;}return spaceNum;
}int main()
{char s[81];int nS;gets(s);nS = statistics(s);printf("%d %d %d\n", nL, nN, nS);return 0;
}

系统标程:

$block1$int ret=0;while(*s!='\0'){if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')nL++;else if (*s>='0'&&*s<='9')nN++;else if (*s==' ')ret++;s++;}return ret;
$end1$

4、选择排序(题目编号:18068):

描述:

输入10个整数,编写一个实现对数组进行选择排序的函数

#include <stdio.h>int sort(int a[], int n)
{int i,j,k,tmp;for(i=0;i<n-1; i++){k=i;for(_______________________)if(_______________________) k=j;tmp=a[k];a[k]=a[i];a[i]=tmp;}
}int main()
{int a[10];int i;for(i=0; i<10; i++) scanf("%d", &a[i]);sort(a,10);for(i=0; i<10; i++) printf("%d\n", a[i]);return 0;
}

输入格式

10个整数,以空格分隔

输出格式

排序后的10个整数,一行一个数字

输入样例

3 2 1 6 5 4 9 8 7 0

输出样例

0
1
2
3
4
5
6
7
8
9

代码实现(参考):

#include <stdio.h>int sort(int a[], int n)
{int i,j,k,tmp;for(i=0;i<n-1; i++){k=i;for(j=k+1; j<n; j++)if(a[k]>a[j]) k=j;tmp=a[k];   //关键在此语句是在for外a[k]=a[i];a[i]=tmp;}
}int main()
{int a[10];int i;for(i=0; i<10; i++) scanf("%d", &a[i]);sort(a,10);for(i=0; i<10; i++) printf("%d\n", a[i]);return 0;
}

标程

5、x的n次方(题目编号:18069):

描述:

输入正整数x和n,编写递归函数求x的n次方。

#include <stdio.h>int F(int x, int n)
{if(_______________________) return _______________________;else return _______________________;
}int main()
{int x, n;scanf("%d%d", &x, &n);printf("%d", F(x, n));return 0;
}

输入格式

两个正整数,x和n

输出格式

x的n次方,假定结果不会超过10的次方。

输入样例

5 2

输出样例

25

代码实现(参考):

#include <stdio.h>int F(int x, int n)
{if(n==1) return x;else return x*F(x,n-1);
}int main()
{int x, n;scanf("%d%d", &x, &n);printf("%d", F(x, n));return 0;
}

6、矩阵行交换或列交换(题目编号:18070):

描述:

输入一个4*4矩阵,编写两个函数分别实现对二维数组元素的行与行进行交换,以及列与列进行交换

#include <stdio.h>void swap(int *a, int *b)
{int temp;temp=*a;*a=*b;*b=temp;
}void col(int a[][4], int i, int j)
{_______________________
}void row(int a[][4], int i, int j)
{_______________________
}int main()
{int a[4][4];int i,j;for(i=0; i<4; i++)for(j=0; j<4; j++)scanf("%d", &a[i][j]);col(a,0,2);row(a,0,2);col(a,1,3);row(a,1,3);col(a,0,3);row(a,0,3);for(i=0; i<4; i++){for(j=0; j<4; j++)printf("%d ", a[i][j]);printf("\n");}return 0;
}

输入格式

输入一个4*4矩阵

输出格式

输出经过变换的矩阵

输入样例

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

输出样例

6 8 5 7
14 16 13 15
2 4 1 3
10 12 9 11

代码实现(参考):

#include <stdio.h>void swap(int *a, int *b)
{int temp;temp=*a;*a=*b;*b=temp;
}void col(int a[][4], int i, int j)
{int tmp[4];for(int k=0; k<4; k++){tmp[k]=a[k][j];}for(int k=0; k<4; k++){a[k][j]=a[k][i];}for(int k=0; k<4; k++){a[k][i]=tmp[k];}
}void row(int a[][4], int i, int j)
{int tmp[4];for(int k=0; k<4; k++){tmp[k]=a[j][k];}for(int k=0; k<4; k++){a[j][k]=a[i][k];}for(int k=0; k<4; k++){a[i][k]=tmp[k];}
}int main()
{int a[4][4];int i,j;for(i=0; i<4; i++)for(j=0; j<4; j++)scanf("%d", &a[i][j]);col(a,0,2);row(a,0,2);col(a,1,3);row(a,1,3);col(a,0,3);row(a,0,3);for(i=0; i<4; i++){for(j=0; j<4; j++)printf("%d ", a[i][j]);printf("\n");}return 0;
}

系统标程:

$block1$int k;for(k=0; k<4; k++)swap(&a[k][i], &a[k][j]);
$end1$
$block2$int k;for(k=0; k<4; k++)swap(&a[i][k], &a[j][k]);
$end2$

代码记得读全…

7、学生信息统计(题目编号:18071):

描述:

输入10个学生5门课的考试成绩,分别用函数实现以下功能:
(1) 计算一个学生的平均分。
(2) 计算每门课程的平均分。
(3) 找出每门课程的最高分。
显示结果,显示两位小数。

#include <stdio.h>void average(double a[][5], int n)
{_______________________
}void average2(double a[][5], int n)
{_______________________
}void top(double a[][5], int n)
{_______________________
}int main()
{double a[10][5];int i, j;for(i=0; i<10; i++)for(j=0; j<5; j++)scanf("%lf", &a[i][j]);average(a,10);average2(a,10);top(a,10);return 0;
}

输入格式

输入10个学生5门课成绩

输出格式

输出每个学生的平均分,以空格分隔
输出每门课的平均分,以空格分隔
输出每门课的最高分,以空格分隔

输入样例

79 61 57 70 77
67 73 83 72 70
82 59 85 84 80
80 53 67 72 79
80 59 72 92 84
88 72 79 79 80
76 99 82 73 97
67 96 81 69 63
58 80 98 93 84
66 61 64 57 64

输出样例

68.80 73.00 78.00 70.20 77.40 79.60 85.40 75.20 82.60 62.40
74.30 71.30 76.80 76.10 77.80
88.00 99.00 98.00 93.00 97.00

代码实现(参考):

#include <stdio.h>void average(double a[][5], int n)
{for(int i=0; i<10; i++){double sum=0;for(int j=0; j<5; j++){sum+=a[i][j];}printf("%.2lf ",sum/5);}printf("\n");
}void average2(double a[][5], int n)
{for(int i=0; i<5; i++){double sum=0;for(int j=0; j<10; j++){sum+=a[j][i];}printf("%.2lf ",sum/10);}printf("\n");
}void top(double a[][5], int n)
{for(int i=0; i<5; i++){double max=0;for(int j=0; j<10; j++){if(a[j][i]>max)max=a[j][i];}printf("%.2lf ",max);}printf("\n");
}int main()
{double a[10][5];int i, j;for(i=0; i<10; i++)for(j=0; j<5; j++)scanf("%lf", &a[i][j]);average(a,10);average2(a,10);top(a,10);return 0;
}

SCAU程序设计在线实训平台_实验_高级语言程序设计_教材习题_第七章相关推荐

  1. SCAU程序设计在线实训平台_实验_数据结构_实验4

    8606 二叉树的构建及遍历操作[有手就行] Description 构造二叉链表表示的二叉树:按先序次序输入二叉树中结点的值(一个字符),'#'字符表示空树,构造二叉链表表示的二叉树T:再输出三种遍 ...

  2. SCAU程序设计在线实训平台_编程进阶_新生赛题目_2019年初出茅庐_开门,你的圣诞礼物

    开门,你的圣诞礼物(No.18598) 描述: 快要到圣诞节了,说到圣诞节首先让人想到圣诞老人和圣诞树. 实际上,圣诞节是为了庆祝耶稣的降生,但是这跟我们没有什么关系,有兴趣可以选修英语选修中讲述历史 ...

  3. SCAU程序设计在线实训平台_考试_计算智能_ 最小的特殊数字

    最小的特殊数字 描述 用全部N(N<=10)个0-9的数字组成一个"有效"整数(即没有前置0的整数), 求这些组成的数中能被K(0<K<10^10)整除的最小数字 ...

  4. 机器人操作系统(ROS)在线实训平台学习实验指南

    2019年更新:ROS 1.0(Kinetic)和ROS 2.0(Ardent)安装与测试 试用和学习机器人操作系统最便捷的打开方式 https://blog.csdn.net/ZhangRelay/ ...

  5. 墨天轮数据库在线实训平台发布,这份操作指南助你快速上手

    你是否有过这样的烦恼? 数据库运行环境要求过高,难以实操: 数据库安装与配置过程繁琐,耽误时间: 单看PPT或视频的理论学习,太过枯燥: -- Don't worry!  墨天轮数据库在线实训平台V1 ...

  6. 数据库在线实训平台-MySQL篇

    引入:记一次MySQL在线平台的实训过程 写在前面的话:自程序员节重磅来袭,十大数据库掌门尖峰对话,顶级大咖再聚长沙,硬核科技+开源文化+大咖云集共话数字计算新时代 -- 长沙·中国1024程序员节 ...

  7. 讲解虚拟服务器的书_“红平果”虚拟仿真实训平台在医学教育中的实践与应用...

    随着互联网技术与虚拟仿真技术的飞速发展,虚拟仿真实训平台这一教育资源也逐渐受到了教育界人士的青睐,目前我国许多医学高等院校投入的虚拟仿真实训平台屈指可数,可是用虚拟仿真实训平台的学校,教学效率远远超过 ...

  8. educoder实训平台python顺序结构答案_传智播客升级实训课程,打造高分项目实战网课助力高校在线实训...

    疫情期间,全国高校泛IT类计算机专业的实训课程由原先的线下实训临时转到线上教学,有些高校因对直播授课模式中控场.应变.学习过程反馈.以及学生吸收程度等经验不足,导致实训结果达不到学校最佳预期.为辅助全 ...

  9. java坦克大战 实训报告_程序设计实训坦克大战实验报告

    <程序设计实训坦克大战实验报告>由会员分享,可在线阅读,更多相关<程序设计实训坦克大战实验报告(12页珍藏版)>请在金锄头文库上搜索. 1. 程序设计实训报告坦克大战专业班级: ...

  10. java 实训指导书_《Java程序设计》实训指导书

    <Java程序设计>实训指导书 <Java 程序设计>实训指导书项目(实训)指导书 系 别: 计算机系 专 业: 软件技术 课 程: Java 程序设计 制 订 人: 葛汉强 ...

最新文章

  1. 【微信小程序企业级开发教程】快递查询实例
  2. 论NLP可解释的评估:什么才是“好”的解释?
  3. Linux进程全解4——fork创建子进程
  4. python 爬虫_BeautifulSoup详细用法
  5. 第二篇 模拟电子技术基础
  6. 女生学的计算机专业有前途吗,计算机专业好不好 女生学计算机有前途吗
  7. Reflector.exe + ilDasm.exe + ilasm.exe 破解DundasWebChart(VS2005) 5.5 成功
  8. 【Flask+SocketIO】如何用Flask做一个快捷迷你的局域网聊天室
  9. uniapp在移动端软键盘监听(弹出,收起),及影响定位布局的问题
  10. Axure 8 - 中继器实战篇
  11. MAC Mail签名添加图片,不显示为附件操作
  12. linux读取文件内容 cat,Linux 读取文件:cat 命令(拼接文件)
  13. 三菱plc 与 计算机 通讯,三菱FX系列PLC和PC的通讯联接
  14. ins无法发帖_instagram发完图片就没了_ins发不了照片_解决方法
  15. 斩不断、理还乱,论家事,别有一番滋味在心头。
  16. Vue3不支持eventBus
  17. CouchDB(1):apache CouchDB介绍与安装
  18. 一、Hbase介绍、数据模型、体系结构
  19. CVPR2022: Oriented RepPoints论文模型实践(用dota数据集)
  20. Linux poweroff关机命令

热门文章

  1. 洛谷 P3332 BZOJ 3110 [ZJOI2013]K大数查询
  2. 数据分析~中国五大城市PM2.5数据分析02
  3. 360主机卫士linux安装软件,360主机卫士linux版|360主机卫士 for Linux v0.5.7官方版 - 121下载站...
  4. 国庆马上到了,用python实现国旗头像
  5. 小赛毛游C记——初识C语言(1)
  6. Python多项逻辑回归和线性判别分析识别英文字母
  7. 计算机桌面壁纸在哪个文件夹,系统桌面背景在哪个文件夹
  8. 三国杀全武将台词大全(标准+神话再临+一将成名12345+SP+国战+其他+皮肤)
  9. ACS高级计算机科学,2018-2019澳洲八大ACS认证学位全盘点!③
  10. 简单3步,给小程序加个官方的吐槽功能吧!