写一段程序,使得任意一串字符,如“matlab”中的所有字符增加若干位,如m→q a matlab编制一个程序,使得改程序接受用户输入的字符串,并...

作者&投稿:超典 (若有异议请与网页底部的电邮联系)

就是实现对应字符位置后面插入字符串,得先找到位置,然后用我的代码,主程序

% 在子字符串前插入文本
% 创建字符串数组,并在子字符串前插入文本。
clc;clear
str = 'bread cheese wine';
% 在对应位置后面插入对应字符
newStr = insert(str,[4,3,2,1],{',';',';'!';'OMG'})

函数程序

function nstr = insert(str, pos, istr)
[pos,idx]= sort(pos);
istr = istr(idx);
N = numel(pos);
nstr = str;
naccum = 0;
for i =1:1:N
    ni = pos(i);
    eistr = istr{i};
    npos = naccum + ni;
    nstr = [nstr(1:1:npos),eistr,nstr(npos+1:1:end)];
    naccum = naccum+length(eistr);
end
end

结果

newStr =

bOMGr!e,a,d cheese wine


matlab中如何换行?~

三个点前要有一个空格,这样matlab才能把...识别成换行符号;另外,这几种换行操作有区别:
(1)... , 起到连接两行的目的,也就是说,实际上是一个命令分开写而已,比如
a=1+2 ...
+3
结果会是 a=6。
(2)shift+enter,表示暂不计算,直到按enter之后,再逐个命令运行,比如还是上面那个例子,输完a=1+2后按shift+enter,在第二行输入+3,计算的结果是 a的值变为3,同时得到默认的结果变量ans=3(那个+3的命令);换句话说,他们之间毫无关系。
按你的要求,应该是指依次运行两个命令吧?shift+enter应该是可以的,但三个点儿也可以用:
userpath("F:\MATLAB\R2010a\bin") ...
, savepath
注意因为是两个独立的命令,所以第二行前面要有分隔符号(比如逗号、分号),上面的写法相当于
userpath("F:\MATLAB\R2010a\bin") , savepath

把下面的代码保存在一个m文件中,按F5执行:

str = input('请输入一个字符串:
','s');
for ii = 1:length(str)
if ii == 1
str(ii) = upper(str(ii));
elseif uint8(str(ii))>=97 && uint8(str(ii))<=122 && str(ii-1) == ' '
str(ii) = upper(str(ii));
end
end
disp(str);

执行结果:
>> test
请输入一个字符串:
my name is lilei
My Name Is Lilei

写一段程序,使得任意一串字符,如“matlab”中的所有字符增加若干位,如...
答:就是实现对应字符位置后面插入字符串,得先找到位置,然后用我的代码,主程序 在子字符串前插入文本% 创建字符串数组,并在子字符串前插入文本。clc;clearstr = 'bread cheese wine';% 在对应位置后面插入对应字符newStr = insert(str,[4,3,2,1],{',';',';'!';'OMG'})函数程序 function ...

用c语言编写程序:输入任意一串字符,字符若连续出现多次,则只保留一个...
答:include<stdio.h>#include<string.h>void main(){char a[100],b[100];int j=0,n,len,flag,s=0;printf("请输入一个字符串:\n");scanf("%s",a);printf("删除前的字符串:\n");printf("%s\n",a);n=strlen(a); // 获取输入字符串的长度b[0] = a[0]; // 将 a 字符串的...

编写一个程序,对用户输入的任意一组字符如{3,1,4,7,2,1,1,2,2},输 ...
答:int i,a[100]={0},b[100]={0},k=0;gets(s);for(i=0;s[i];i++){a[s[i]-32]++;if(!b[s[i]-32])b[s[i]-32]=i;} for(i=1;i<100;i++)if(a[i]>a[k]||a[i]==a[k]&&b[i]

用Java编写一个程序对用户输入的任意一组字符如{3,1,4,7,2,1,1,2...
答:import java.util.HashMap;import java.util.Scanner;public class A { public static void main(String argvs[]) { String line; Scanner sc = new Scanner(System.in); while(sc.hasNextLine()) { line = sc.nextLine(); if (line.length()==0) break; String []s...

用c语言编写程序,输入任意一串字符,再输入一个字符和一个位置,将此字符...
答:; puts("请输入一个字符:"); scanf("%c",&c); puts("请输入要插入的位置:"); scanf("%d",&index); if(index>strlen(ch)+1||index<1) puts("输入的位置不正确!\n"); else { printf("插入元素%c之前:%s\n插入元素%c之后:\n",...

在C语言中,怎么编一个程序使得输入一串字符,得出他的个数
答:include <stdio.h> include <string.h> int main(void){ char a[100];printf("请输入一个串字符:\n");gets(a);printf("这个字符串的字符个数为:%d", strlen(a));return 0;}

在C语言中,怎么编一个程序使得输入一串字符,得出他的个数
答:因为char str你没有给它分配存储字符串的空间。可以用malloc动态的申请:char str = (char*)malloc(sizeof(char)100);然后再 scanf("%s",str);就可以了 而char str[100]这里是申请了包含100个字符的内存空间。

C语言中任意输入一串字符,统计有多少个阿拉伯数字,有多少个大写字母,有...
答:include<stdio.h>int main(){char s[100];int i=0;int A=0,B=0,C=0;printf("请输入字符串:");scanf("%s",s);while(s[i]!='\0'){if(s[i]>='a'&&s[i]<='z')A++;if(s[i]>='A'&&s[i]<='Z')B++;if(s[i]>='0'&&s[i]<='9')C++;i++;...

编写程序,对用户输入的任意一组字符如{3,1,4,7,2,1,1,2,2}输出其中出 ...
答:char a[]={3,1,4,7,2,1,1,2,2},b[50],tc;int n=9,k=0,i,j,c[50]={0},ti;for(i=0;i<n;i++){ for(j=0;j<k;j++)if(a[i]==b[j]){ c[j]++;break;} if(j==k){ b[k]=a[i];c[k++]++;} for(i=0;i<k-1;i++)for(j=i+1;j<k;j++)if(c[i...

编写一个程序,对用户输入的任意一组数字字符如{3,1,4,7,2,1,1,2,2...
答:1,1,2,2}a1 排序 得到{1,1,1,2,2,2,3,4,7}a2,再设个统计变量数组 a3[count ][value];循环数组a2比较2个数字是否相等。得到{(1,3),(2,3),(3,1),(4,1),(7,1)}a3。在遍历a3比较value大小,你会得到(1,3)和(2,3)。取1,2在到a1里面查找看哪个先出现。得到结果 ...