1编写一个程序进行字符串的截取,即从键盘上输入一个字符串str1,讲字符串从第m个字符开始的n个字符形成

1编写一个程序进行字符串的截取,即从键盘上输入一个字符串str1,讲字符串从第m个字符开始的n个字符形成另一个字符串送到变量str2中,例如:str="computer",m=2,n=3,这样str2=“mpu”

2编写一个程序输入10个数,将其中最大的数与第一个数对换,最小数与最后一个数对换,输出兑换后的10个数

1
#include <stdio.h>
#include <math.h>
main(){
char str1[81],str2[81];
int m,n,i;
gets(str1);
gets(str2);
scanf("%d%d",&m,&n);
for(i=m;i<n;i++)
strcpy(str2,str1,n);
puts(str2);
}
题目自己写的 求解释哪里错了

2main(){
int i,j,k,a[10],max,min,w,z;
for(i=0;i<10;i++)
scanf("%d",a[i]);
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
if(a[i]<a[j])
{t=a[i];
a[i]=a[j];
a[j]=t;}
for(i=0;i<8;i++)
printf("%d",&a[i]);
max=0,min=1000;
if(i=0;i<10;i++)
if(a[i]>max)
{max=a[i];
w=max;
max=a[10];
a[0]=w;}
if(a[i]<min){
min=a[i];
z=min;
min=a[10];
a[10]=z;
for(i=0;i<10;i++)
printf("%d",a[i]);}}
这两题是我自己写,若有错,请安我的想法来改 谢谢

第一题:

#include<stdio.h>

#include<string.h>

char *f(char *s,int m,int n);

int main(void)

{

int m,n;

char s1[20];

printf("Please input m and n:");

scanf("%d%d",&m,&n);

printf("Please input a string:");

scanf("%s",s1);

printf("%s\n",f(s1,m,n));

return 0;

}

char *f(char *s,int m,int n)

{

int i,j=0;

char t[20];

for(i=m;i<=m+n-1;i++,j++)

        t[j]=s[i];

t[j]='\0';

strcpy(s,t);

return (s);

}


第二题:

#include<stdio.h>

int main(void)

{

int i,index1=0,index2=0,temp;

int s[10];

printf("Please input 10 integers:");

for(i=0;i<10;i++)

scanf("%d",&s[i]);

for(i=1;i<10;i++){

if(s[i]>s[index1])

index1=i;

if(s[i]<s[index2])

index2=i;

}

temp=s[index1];

s[index1]=s[0];

s[0]=temp;

temp=s[index2];

s[index2]=s[9];

s[9]=temp;

for(i=0;i<10;i++)

printf("%d ",s[i]);

printf("\n");

return 0;


}

追问

最后的return0是什么没意思啊

追答

return 0 结束main()函数的运行,并向系统返回一个整数0,作为程序的结束状态。由于main()函数的返回值是整型数,因此,任何整数都可以作为返回值。按照惯例,如果main()函数返回0,说明程序运行正常,返回其他数字则表明各种不同的错误情况。系统可以通过检查返回值来判断程序的运行是否成功。

追问

不要也行吧 我初学 一般return都是函数采用的

追答

只要程序能正常结束,不要也行的。但有的程序不加return 0,会报错的。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-29
#include <stdio.h>
#include <string.h>
main(){
char str1[81],str2[81]={0};
int m,n,i,j=0;
gets(str1);
scanf("%d%d",&m,&n);
for(i=m;i<m+n;i++)
str2[j++]=str1[i];
puts(str2);
}

1编写一个程序进行字符串的截取,即从键盘上输入一个字符串str1,讲字符...
include<string.h> char *f(char *s,int m,int n);int main(void){ int m,n;char s1[20];printf("Please input m and n:");scanf("%d%d",&m,&n);printf("Please input a string:");scanf("%s",s1);printf("%s\\n",f(s1,m,n));return 0;} char *f(char *s,int m,i...

编写一个程序,将字符串中的第m个字符开始的全部字符复制到另一个字符...
int m;printf("Enter a string:");gets(str1);printf("Enter m:");scanf("%d",&m);copy(str1,str2,m);puts(str2);return 0;}

用C语言编写一完整源程序,从键盘输入一个字符串Str1,在新的一行输入一...
void deleteChar(char *a,char c)\/\/从特定字符串中删除特定字符{ int i; char *d=NULL;if((d=strchr(a,c))!=NULL)\/\/找到这个字符,从后一位向前移位,将其覆盖,达到删除的目的 { for(i=0;*(d+i)!=0;i++)(d+i)=*(d+i+1);} }int main(){ char Str1[100]={0};cha...

python编写一段代码,要求用户从键盘输入一字符串,程序负责提取出其中...
1、创建python文件,testregexp.py文件;2、编写代码提取字符串中的数字;string="12abc34wf5s!@#6af7"list_str1=re.findall(r"\\d*",string)list_num=''.join(list_str1)print(list_num)3、编写代码,提取字符串中的英文字母;提取字符 list_str2=re.findall("[a-z]*",string)list_st...

用汇编语言编译一个程序\\从键盘输入一个字符串将其每个字符的ASCII码...
;入口:AL存放ASCII ;出口:转换后数值在AL asc2bin proc sub al, 30h cmp al, 9 jbe next sub al, 7 next: ret asc2bin endp end main 上面的程序是:从键盘输入1~5之间的一个数,在屏幕上显示one…five。虽然不一样,但要求差不多,希望对你有帮助!

用汇编语言编译一个程序\\从键盘输入一个字符串将其每个字符的ASCII码...
mov ah, 1 ;键盘输入 int 21h call asc2bin mov bl, al mov bh, 0 dec bx shl bx, 1 mov dx, tab[bx]mov ah, 9 int 21h mov ax, 4c00h Int 21h main endp ;将ASCII转换为二进制数 ;入口:AL存放ASCII ;出口:转换后数值在AL asc2bin ...

急!编写程序从键盘上输入一个字符串和一个字符,实现从字符串中删除该...
include <string.h> using namespace std;int main(){ char str[100],ans[100],ch;while(scanf("%s %c",str,&ch)!=EOF){ int i,len=strlen(str);for(i=0;i<len;i++)if(str[i]==ch) str[i]=-1;int index=0;for(i=0;i<=len;i++)if(str[i]!=-1) ans[index++]=...

编写一个C程序,功能是:从键盘输入两个字符串str1 str2,并将字符串 str...
由于C的字符串是由字符数组操作的,所以这种题得保证字符数组str1能放得下它自身和拷贝在它后面的str2的内容。不用库函数的话可以如下操作:include "stdio.h"int main(int argc,char *argv[]){char str1[301],str2[101];int i,j;printf("Please enter 2 strings...\\n");scanf("%200s%...

字符串怎么截取第n个字节到第m个字节的字符串
include "string.h"main(){ int n,m;char s1[100];printf("输入字符串:\\n");gets(s1);printf("请输入n , m:\\n");scanf("%d %d",&n, &m);char s2[m-n];for (int i=0;i<m-n;i++){ s2[i]=s1[i+n];\/\/s2即为所求 } } 也可以单独写一个方法 char *fun(char s1...

使用汇编编一个字符传递程序,将字符串str1传送到str2并输出。
修改宏move如下:move macro str1,str2 local rr mov bx,0 mov bp,0 lea bx,str1 lea bp,str2 rr:mov AL,[bx]mov [bp],AL inc bx inc bp cmp AL,'$'jnz rr endm

相似回答