1. c语言如何输入任意长度的字符串数组
方法:
1)逐个元素进行赋初值。例如:
char
a[12]={'g','o','o','d','
','m','o','r','n','i','n','g'};
采用这种方式对字符数组初始化,可以不包括结束标志,这是合法的。但在对数组整体输出时系统无法判断字符串是否结束,输出结果会存在问题。因此通常人为的加上‘\0’。上例做如下改动更合理:
char
a[13]={'g','o','o','d','
','m','o','r','n','i','n','g','\0'};
2)用字符串常量来初始化字符数组:
char
a[]="good
morning";或
char
a[]={"good
morning"};
采用这种方式初始化字符数组,可以不指定数组长度,但数组的实际长度比字符串常量的长度多1,因为系统会在最后添加字符串结束标志‘\0’;若指定了数组的长度,如果字符串常量的长度大于数组长度会出错,如果小于数组长度,系统会将未赋值的元素全部充成‘\0’。
2. C语言中怎么输入数字和字母
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
3. C语言如何从键盘输入任意3个数,按从小到大的顺序输出
代码1.
//输入3个数,要求按从小到大顺序输出
#include<stdio.h>
intmain()
{
inta,b,c,t;
printf("请输入三个数:");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("从小到大的顺序是:%d%d%d ",a,b,c);
return0;
}
代码2.
输入3个字符串,按从小到大顺序输出。//先用程序对三个数进行从小到大排序,然后修改程序
#include<stdio.h>
#include<string.h>
intmain()
{voidswap(char*pt1,char*pt2);
chara[20],b[20],c[20];
char*p1,*p2,*p3;
printf("请输入三个字符串:");
gets(a);
gets(b);
gets(c);
//或用scanf("%s,%s,%s",a,b,c);
p1=&a[0];p2=&b[0];p3=&c[0];//三个指针分别指向三个字符数组
if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b);//比较两个字符串的大小,为什么用前一句的时候会出现警告呢
if(strcmp(a,c)>0)swap(a,c);//if(strcmp(*p1,*p3)>0)swap(*p1,*p3);
if(strcmp(b,c)>0)swap(b,c);//if(strcmp(*p2,*p3)>0)swap(*p2,*p3);
printf("由小到大排列:%s %s %s ",a,b,c);
return0;
}
voidswap(char*pt1,char*pt2)
{chart[20];
strcpy(t,pt1);
strcpy(pt1,pt2);
strcpy(pt2,t);
//t=*pt1;*pt1=*pt2;*pt2=t;
}
代码3.
#include<stdio.h>
#include<string.h>
#defineSIZE3
#defineLEN50
intmain(void)
{
charstr[SIZE][LEN];
char(*pst)[LEN]=str;
chartemp[LEN];
inti,j;
printf("Pleaseenter3string. ");
for(i=0;i<SIZE;i++)
{
fgets(*(pst+i),LEN,stdin);
}
printf("Beforsort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}
for(i=0;i<SIZE-1;i++)
for(j=i+1;j<SIZE;j++)
{
if(strcmp(*(pst+i),*(pst+j))==1)
{
strcpy(temp,*(pst+i));
strcpy(*(pst+i),*(pst+j));
strcpy(*(pst+j),temp);
}
}
printf("Aftersort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}
}
4. C语言怎么实现字符串的任意输入
楼主的意思是不是在输入的时候不通过按回车键来结束字符串的输入就能把字符串读入程序?
5. c语言如何实现输入任意多个整数
用循环结构。
具体操作如下。
int a;
scanf("%d",&a);
while(a!=0)
{
scanf("%d",&a);
}
这时,你输入任意个整数都行,两个整数中间用任意数量空格隔开,只要最后一个整数输入的是0就行了
6. C语言如何从标准输入一次读入指定字符数量的字符串
在源码里插入汇编代码
INT 21H的0AH是输入字符串的
可以限定输入字符的个数
我就知道这个了
据说C语言不是能插入汇编代码么
7. c语言怎么输入多个字符串
char str1[20],str2[20];
scanf("%s%s",str1,str2);
这样就可以实现多个字符串的输入,注意几点:
输入的每一个字符串长度应小于定义时的字符数组长度。
输入字符串时,字符串与字符串之间用空格符或者回车换行符隔开。
8. c语言中怎么实现任意长度字符串输入
其实核心就是实现动态数组,无论字符串多长,都能够储存。
用getchar一个一个得到字符,直到文件结束。
核心代码实现:
intn=0,k=100;//初始化,字符串长度为0,字符串空间长度为100
char*s2=NULL,s1=(char*)malloc(100);//初始化字符串空间
if(s1==NULL)return;//内存分配失败,返回
while((c=getchar())!=EOF){//判断是否到文件结束,一个个读取字符
if(k<=n){//当前字符串长度大于等于字符串空间长度时
k*=2;//长度增长2倍
s2=(char*)realloc(s1,k);//重新分配内存
if(s2==NULL){//内存分配失败
free(s1);//释放已分配内存
return;
}else{//内存分配成功
s1=s2;
}
}
s1[n++]=c;//字符串赋值字符
}
s1[n]=0;//字符串末尾置为
9. C语言编程:如何输入任意长度的字符串(不用C++和String)
每次使用都malloc申请一个空间
记得要包含stdlib.h
//for 用一个循环控制输入字符串
char *p;
p=(char *)malloc(sizeof(char));//只申请一个存放空间
p=getchar();//取得键盘输入的字符
用完记得要释放掉
free(p);
10. 如何用C语言实现从键盘任意输入n个数。
#include<stdio.h>
void
main()
{
char
*a;
printf("input
in:");
gets(a);
printf("%s",a);
printf("\n至于具体怎么将字符处理成数字你自己设计吧\n\1\n");
}