1. c语言如何将文件中一行内容按照空格分割,并将每个单词写入数组
将文件中一行内容按照空格分割进行读取,可以采用fscanf("%s")来实现
实现过程:
定义二维字符数组,用来接收读到的每个单词
以读方式打开文件
循环读文件,将单词逐个读入数组
循环结束后,关闭文件
输出数组中的单词,以验证
参考代码:
#include<stdio.h>
intmain(void)
{
FILE*fp;
inti,j;
charwords[100][21];//最多读100个单词,每个单词不超过20个字符
fp=fopen("data.txt","r");
if(fp==NULL)
{
printf("openfileerror ");
return-1;
}
for(i=0;i<100;i++)//循环读取,控制不超过100个
{
if(fscanf(fp,"%20s",words[i])!=1)//控制每个单词不超过20个
break;
}
fclose(fp);
for(j=0;j<i;j++)//反向输出各单词
printf("%s",words[j]);
printf(" ");
return0;
}
2. C语言如何将文件中一行内容按照空格分割,并将每个单词写入数组
程序已调试过,运行的时候把filename改为你自己路径下的文件。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char str[1000];
void openfile(char *filename)
{
FILE *fp;
int file_size;
if((fp=fopen(filename,"r")) == NULL)
{
printf("can not open this file\n");
exit(0);
}
fseek(fp,0,SEEK_END);
file_size=ftell(fp);
printf("%d\n",file_size);
fseek(fp,0,SEEK_SET);
fread(str,sizeof(char),file_size,fp);
str[file_size-1]='\0';
printf("%s\n",str);
fclose(fp);
}
void Split()
{
char w[100][100];
char *pfirst=str;
char *pend;
int i=0;
int j,sum=0;
memset(w,0,sizeof(w));
while(pfirst)
{
pend=strstr(pfirst," ");
if(pend==NULL)
{
strncpy(w[i],pfirst,strlen(str)-sum);
i++;
break;
}
strncpy(w[i],pfirst,pend-pfirst);
sum+=pend-pfirst+1;
pfirst=++pend;
i++;
}
for(j=0;j<i;j++)
printf("%s ",w[j]);
}
int main()
{
char filename[40]="/opt/opthb/liuly/a.txt";
openfile(filename);
Split();
return 0;
}
3. C语言把输入的单词保存至指针数组该怎样操作
首先你是输入的单词 所以输入输出都得用%s
定义类型也得是基于char的
另外要求是指针数组 而你这个只是指针而不是数组
修改如下
#include<stdio.h>
#defineM100
main()
{
char*c[M];
for(i=0;i<M;i++)
c=(char*)malloc(sizeof(char)*1000);
inti;
for(i=0;i<M;i++)
{
scanf("%s",c[i]);
}
for(i=0;i<M;i++)
printf("%s ",c[i]);
for(i=0;i<M;i++)
free(c[i]);
system("pause");
}
4. 如何在C语言中用scanf输入数组
#include
main()
struct
int num;
char name[20];
char sex;
int age;
stu[5];
int i;
for(i=0;i<5;i++)
printf("请输入信息 ");
scanf("%d",&stu[i].num);
scanf("%s",&stu[i].name);
scanf("%c",&stu[i].sex); //在%c之前加一个空格
scanf("%d",&stu[i].age);
for(i=0;i<5;i++)
printf( "*%s*",stu[i].name);
(4)c语言如何将单词输入数组扩展阅读:
函数 scanf() 是从标准输入流stdin[1](标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
5. C语言中怎样把输入的字符串赋给数组
//基本实现你要的功能,用到了内存的动态开辟#include
<stdio.h>
#include
<stdlib.h>
void
main()
{
char**
pArrStr;//用来保存字符串数组
int
strLen;//用来保存字符串长度
int
i;
printf("请输入
字符数组
的个数:");
scanf("%d",&strLen);
pArrStr=(char**)malloc(sizeof(char*)*strLen);//动态开辟N个char*指针,然后给pArrStr保存
for(i=0;i<strLen;i++)
{
pArrStr[i]=(char*)malloc(255);
}
printf("请依次输入%d个字符串:",strLen);
for(i=0;i<strLen;i++)
{
scanf("%s",pArrStr[i]);
}
printf("输出:");
for(i=0;i<strLen;i++)
{
printf("%s\n",pArrStr[i]);
}}
6. C语言里如何输入几个字符串放到一个数组中
方法如下:
#include <stdio.h>
void main()
{
char s[10][80];
for(i=0;1<10;i++)
{
gets(s[i]);
}
}
(6)c语言如何将单词输入数组扩展阅读:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言常用词汇有:
条件 condition
变量 variant
过程 process
优先 priority
运算 operation
返回值 return value
函数 function
声明 declare
参数 parameter
静态的 static
外部的 extern
引用 reference
元素 element
地址 address
排序 sort
字符 character
字符串 string
应用 application
指针 pointer
参数 argument
数组 array
声明 declaration
表示 represent
处理 manipulate
成员 member
标记 tag
函数 function
枚举 enumerate
联合 ( 共用体 ) union
创建 create
插入 insert
删除 delete
修改 modify
7. c语言字符串数组怎么输入和输出呢
在C语言中,有两个函数可以在控制台(显示器)上输出字符串,它们分别是:
puts():输出字符串并自动换行,该函数只能输出字符串。
printf():通过格式控制符%s输出字符串,不能自动换行。除了字符串,printf() 还能输出其他类型的数据。
这两个函数相信大家已经非常熟悉了,这里不妨再演示一下,请看下面的代码:
#include <stdio.h>
int main(){
char str[] = "http://c.biancheng.net";
printf("%s ", str); //通过字符串名字输出
printf("%s ", "http://c.biancheng.net"); //直接输出
puts(str); //通过字符串名字输出
puts("http://c.biancheng.net"); //直接输出
return 0;
}
运行结果:
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
http://c.biancheng.net
注意,输出字符串时只需要给出名字,不能带后边的[ ],例如,下面的两种写法都是错误的:
printf("%s ", str[]);
puts(str[10]);
(7)c语言如何将单词输入数组扩展阅读:
由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
8. C语言如何把输入进去的数放到数组中
有两种方式:
1
先输入数值,在存放在数组的对应位置中,即赋值给对应元素。
如
scanf("%d",&i);
a[k]
=
i;
就是先输入到变量i中,然后把i存储在a的第k个元素中。
2
直接输入到数组对应元素中。
如
scanf("%d",&a[k]);
与1中的例子是相同效果,只是减少了中间变量的使用。
9. c语言如何将一句英语存入一个二维数组中
#include <stdio.h>
#include <string.h>
void main()
{
char haha[100][100];
char s[100];
char *p;
char *q;
int count = 0;
int i=0,j=0;
printf("请输入一段英文:");
gets(s);
p=q=s;
while(p = strchr(p,' '))
{
count++;//判断有几个单词
strncpy(haha[i],q,p-q);
haha[i][p-q] = '\0';
p = p+1;
q = p;
i++;
}
if(p == NULL)
{
strncpy(haha[i],q,strlen(q));
haha[i][strlen(q)]='\0';
}
for(j = 0; j <=count; j++)
printf("%s\n",haha[j]);
}