扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在C语言中,字符串是以字符数组方式保存的,于是字符串数组可以用二维字符数组存储。
专注于为中小企业提供成都网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业乐业免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
输入时,每次输入字符串数组的一个元素(一行),根据需要,使用scanf或gets进行输入。
如:
char str[10][100]; //定义字符串数组,供10行,每行最多100个字节数据。
int i;
for(i = 0; i 10; i ++)
scanf("%s",str[i]);//输入10行字符串数据。
#include stdio.h
/*比较两个字符串*/
/*src、dst相等 return 1*/
/*src比dst短 return -2*/
/*src比dst长 return 2*/
/*src、dst长度一致但不相等 return -1*/
int stringCmp (char *src, char *dst) {
if (strlen (src) strlen (dst))
return -2;
else if (strlen (src) strlen (dst))
return 2;
else {
while (*src *dst) {
if (*src != *dst)
return -1;
src++;
dst++;
}
return 1;
}
}
/*合并两个字符串*/
void mergeString(char* str1, char* str2, char* merge) {
while (*merge++ = *str1++); /*复制str1并将指针移动到字符串的末尾的下一个位置*/
merge--; /*退到字符串的末尾*/
while (*merge++ = *str2++); /*从末尾(\0)的位置开始将str2拷贝进来*/
*merge = '\0';
}
int main(void) {
char *str1_1="hel",*str1_2="lo", *merge1;
char *str2_1="ness",*str2_2="happy", *merge2;
char *str3_1="hi",*str3_2="hi", *merge3;
char *str4_1="hello",*str4_2="world", *merge4;
puts ("第1组字符串:");
puts (str1_1);
puts (str1_2);
if (stringCmp (str1_1, str1_2) == 1)
puts (str1_1);
else if (stringCmp (str1_1, str1_2) == -2) {
mergeString (str1_2, str1_1, merge1);
puts (merge1);
}
else if (stringCmp (str1_1, str1_2) == 2 || stringCmp (str1_1, str1_2) == -1) {
mergeString (str1_1, str1_2, merge1);
puts (merge1);
}
putchar ('\n');
puts ("======================================================");
putchar ('\n');
puts ("第2组字符串:");
puts (str2_1);
puts (str2_2);
if (stringCmp (str2_1, str2_2) == 1)
puts (str2_1);
else if (stringCmp (str2_1, str2_2) == -2) {
mergeString (str2_2, str2_1, merge2);
puts (merge2);
}
else if (stringCmp (str2_1, str2_2) == 2 || stringCmp (str2_1, str2_2) == -1) {
mergeString (str2_1, str2_2, merge2);
puts (merge2);
}
putchar ('\n');
puts ("======================================================");
putchar ('\n');
puts ("第3组字符串:");
puts (str3_1);
puts (str3_2);
if (stringCmp (str3_1, str3_2) == 1)
puts (str3_1);
else if (stringCmp (str3_1, str3_2) == -2) {
mergeString (str3_2, str3_1, merge3);
puts (merge3);
}
else if (stringCmp (str3_1, str3_2) == 2 || stringCmp (str3_1, str3_2) == -1) {
mergeString (str3_1, str3_2, merge3);
puts (merge3);
}
putchar ('\n');
puts ("======================================================");
putchar ('\n');
puts ("第4组字符串:");
puts (str4_1);
puts (str4_2);
if (stringCmp (str4_1, str4_2) == 1)
puts (str4_1);
else if (stringCmp (str4_1, str4_2) == -2) {
mergeString (str4_2, str4_1, merge4);
puts (merge4);
}
else if (stringCmp (str4_1, str4_2) == 2 || stringCmp (str4_1, str4_2) == -1) {
mergeString (str4_1, str4_2, merge4);
puts (merge4);
}
putchar ('\n');
puts ("======================================================");
putchar ('\n');
getch (); /*屏幕暂留*/
return 0;
}
运行结果
1.C语言如何把输入进去的数放到数组中
includestdio.h
void main()
{
int a[3][3],i,j;
for(i=0;i3;i++)
for(j=0;j3;j++)
saf("%d",a[i][j]);
for(i=0;i3;i++)
for(j=0;j3;j++)
printf("a[%d][%d]=%d ",i,j,a[i][j]);
}
扩展资料:
数组的使用规则:
1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。
3.如不给可初始化的数组赋初值,则全部元素均为0值。
4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。
参考资料:
搜狗百科-数组
2.C语言怎么让键盘输入数字到数组里
1、首先打开电脑的编辑软件。然后创建编辑项目。
2、创建文复件指针和字符型char。再读取文件内容。
3、然后用制for语句进行接受数据。再用getchar语句接受键盘的输入。
4、然后用foput函数。再将数据写入到zd文件。
5、然后用fclose函数关闭文件。再返回数值。
6、运行程序,输入数值。再打开文件,就可以发现键盘输入的东西,写入到文件。
3.c语言怎么把文本文档的数据输入到一维数组中
利用字符数组(也就是字符串) #include #include #define N 4 struct stu { char id[100]; char name[100]; char age; }St[N]; int main(void) { int i = 0; FILE *fp = NULL; if( !(fp = fopen("1.txt","rb"))) { printf("打开失败!\n"); exit(1); } for(i = 0;i N; ++i) { fread(St[i],sizeof(struct stu),1,fp); } for(i = 0; i N; ++i) { printf("%s %s\n",St[i].id,St[i].name); } fclose(fp); return 0;。
4.c语言中输入数据到数组中,求大神请教
#includestdio.h
int main(void)
{
char ca[30] = "";
int a[30] = {0};
printf("输入身份证号\n");
scanf("%s",ca);
int i = 0;
while(ca[i] != '\0')
{
a[i] = ca[i] -'0';
i++;
}
return 0;
}
a中存放的就是你需要的数据。如果不能满足,欢迎追问。
5.C语言如何输入一个数组
1、输入数组需要使用指针获取地址后,就能对得到的数组就行操作了。首先打开DEV C++软件,新建一个空白的C语言文件:
2、输入程序的源码,先定义一个整型数组“a[5]”,采用scanf语句输入数组中的每个元素,这里使用指针来对输入的数字进行访问,要先给输入的每一个数字给予它的地址,便于访问,最后拿得到的数计算出平均值输出,程序就编写完成了:
3、代码全部编写成功之后编译运行,在弹出的输入面板中输入任意5个整数,按回车键,即可得出平均值,以上就是用C语言输入一个数组,关键点是数组的获取要用指针:
6.c中怎么任意输入数组
对于字符数组,可以用gets函数。。。。。其他数组么,还不知道。。。
我刚试了一下,你可以试试。
#includeiostream
#define Type int
using namespace std;
int main()
{
int i;
Type s[100];
for(i=0; s[i]!=0;i++)
{
cins[i];
}
int j;
for(j=0;j=i;j++)
{
couts[j]endl;
}
return 0;
}
你的数组类型可以自定义,在define里宏定义。。。。。对于第二个循环,你在思考一下,总感觉有些不对。。。。。i在第一个数组里面,它记录了数组元素的个数。
7.c语言如何把数组中的数据加起来
可以通过循环遍历数组中的每个元素,并进行累加。
累加的结果可以保存在变量中,需要注意,要保证变量足够保存累加结果,不会出现溢出。
参数为整型数组a,长度为l,对其元素实现累加并返回结果的函数可以写作
int sum(int *a, int l)
{
int r = 0; 存储累加结果。
int i;
for(i = 0; i l; i ++)遍历a
r += a[i];累加元素。
return r;返回结果。
}
8.C语言中如何依次输入数组中元素
#includestdio.h
int main()
{
int a[17];
int i;
for(i=0;i17;i++)
{
scanf("%d",a[i]);
}
return 0;
}
扩展资料:
数组:是有序的元素序列。 若将有限个类型相同的变量的 *** 命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的 *** 称为数组。
声明固定大小的数组:
有三种方法声明固定大小的数组,用哪一种方法取决于数组应有的有效范围:
1,建立公用数组,在模块的声明段用 Public语句声明数组。
2,建立模块级数组,在模块的声明段用 Private语句声明数组。
3,建立局部数组,在过程中用 Private语句声明数组。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流