计算机二级-C语言-程序填空题-190109记录-对二维字符串数组的处理
//给定程序,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长<N。
//重难点:先把第一个字符串记录为最长,然后再遍历替代最长的。处理二维字符串数组需要双重循环,循环处理的时候什么时候‘+1’什么时候不加。
#include <stdio.h>
#include <string.h>
#define M 5
#define N 20
void fun(char (*ss)[N])
{
int i,j,n,len=0;
for(i=0;i<M;i++)
{
n=strlen(ss[i]);
if(i==0) len=n;//先记录第一个字符串为最长
if(n>len) len=n;//遍历,寻找最长的
}
for(i=0;i<M;i++)
{
n=strlen(ss[i]);
for(j=0;j<len-n;j++)
ss[i][n+j]='*';//注意是否+1
ss[i][n+j+1]='\0';//这里加一,因为for循环中,判断到第二个条件不成立,那么最后一次j++就不会执行。
}
}
main()
{
char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing"};
int i;
printf("The original string are :\n");
for(i=0;i<M;i++) printf("%s\n",ss[i]);
printf("\n");
fun(ss);//传参,二维数组名(首地址)
printf("The result is:\n");
for(i=0;i<M;i++) printf("%s\n",ss[i]);//二维字符串数组,输出的时候,只需要一个for循环
}
计算机二级-C语言-程序填空题-190109记录-对二维字符串数组的处理的更多相关文章
- 计算机二级-C语言-程序填空题-190107记录
//给定程序的功能是:调用fun函数建立班级通讯录.通讯中记录每位学生的编号,姓名和电话号码.班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块(代表要使用结构体)写到名为myfile5.d ...
- 计算机二级-C语言-程序填空题-190110记录-文件写入与文件读出显示
//给定程序功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1(独立一行)作为字符串输入结束的标志,然后将文件的内容读到显示在屏幕上.文件的读写分别由自定义 ...
- 计算机二级-C语言-程序填空题-190117记录-对文件的处理,复制两个文件,往新文件中写入数据。
//给定程序的功能是,调用函数fun将指定源文件中的内容赋值到指定目标文件中,复制成功时函数返回1,失败时返回0,把复制的内容输出到终端屏幕.主函数中源文件名放在变量sfname中,目标文件名放在变量 ...
- 计算机二级-C语言-程序填空题-190115记录-fprintf()函数和fscanf()函数的使用。
//给定程序,函数fun的功能是:将自然数1~10以及它们的平方根写到名为myflie3.txt的文本文件中,然后再顺序读出显示在屏幕上. //重难点:fprintf()函数和fscanf()函数的使 ...
- 计算机二级C语言选择题错题知识点记录。
计算机二级C语言选择题错题知识点记录. 1,在数据流图中,用标有名字的箭头表示数据流.在程序流程图中,用标有名字的箭头表示控制流. 2,结构化程序设计的基本原则:自顶向下,逐步求精,模块化,限制使用g ...
- 计算机二级-C语言-对文件的读写操作。链表的定义与赋值。对字符串的遍历和处理。
//程序填空题:在此程序中,通过定义学生结构体变量,存储了学生的学号,姓名和三门课的成绩.所有学生数据均以二进制方式输出到文件中.函数fun()函数的功能是重写形参filename所指文件中最后一个学 ...
- C语言基础练习——最大值及其位置(二维数组)
C语言基础练习——最大值及其位置(二维数组) 时间限制: 1 Sec 内存限制: 10 MB 题目描述 有一个n×m的矩阵,要求编程序求出: 每行元素的最大值,以及其所在的行号和列号.求出所有元素的 ...
- 2018/7/31-zznuoj-问题 A: A + B 普拉斯【二维字符串+暴力模拟+考虑瑕疵的题意-0的特例】
问题 A: A + B 普拉斯 在计算机中,数字是通过像01像素矩阵来显示的,最终的显示效果如下: 现在我们用01来构成这些数字 当宝儿姐输入A + B 时(log10(A)<50,log10 ...
- C#编写程序,找一找一个二维数组中的鞍点
编写程序,找一找一个二维数组中的鞍点(即该位置上的元素值在行中最大,在该列上最小.有可能数组没有鞍点).要求: 1.二维数组的大小.数组元素的值在运行时输入: 2.程序有友好的提示信息. 代码: us ...
随机推荐
- mybatis大于等于小于等于的写法
第一种写法(1): 原符号 < <= > >= & ' " 替换符号 < <= > >= & ' " ...
- 执行python程序的方式
1.交互器 程序不能永久保存 主要用于简单的语法测试相关 2.文件执行
- jQuery实现隔行变色、悬停变色 ( CSS3伪类选择器:nth-child() )
<title>实现隔行变色</title> <script src="Js/jquery-1.8.0.min.js" type="text/ ...
- C#中常见的winform控件命名规范 转
我们知道Button 常常简称为btn,那么Winform中的其它控件呢,这篇文章在C#的winform控件命名规范 的基础上对一些控件的名称的简称进行了整理. 1. 标准控件 NO. 控件类型简写 ...
- 实现ENSP模拟器与物理主机、虚拟机通信
一.环境描述 我需要实现华为模拟器中的网络设备和物理主机.虚拟机通信.这篇文章中以ENSP中的路由器为例,实现它和物理主机.虚拟机的通信. 二.实现方法 在ENSP中借助Cloud来实现. 在Clo ...
- LitElement(二)模板编写基本语法
原文:https://lit-element.polymer-project.org/guide/templates 1.定义一个渲染模板 1.1 基本规则 要用LitElement 组件定义一个模板 ...
- 第一篇,VScode插架以及配置项
由于在开发的时候我们经常因为ESLint规范把自己搞的头晕眼花,修改起来又很浪费时间.所以我特别做个记录,如下代码可以轻松搞的. 工欲善其事必先利器,如果想要在开发的道路上如履平地必须要有得心 ...
- thinkphp中简单的控制器使用
1.在路由(route.php)中定义一条路由 Route::rule('new/:name/:id','index/News/read'); 2.在index下的controller控制器中新建一个 ...
- python面试的100题(3)
3.输入日期, 判断这一天是这一年的第几天? import datetime def dayofyear(): year = input("请输入年份: ") month = in ...
- mybatis(六):设计模式 - 建造者模式