1 2 6 7
6 7 5 9
比较两行中相同数有哪些?
19 个解决方案
#1
int sscanf( const char *buffer, const char *format, ... );
#2
fscanf(文件指针,读取格式,变量)
#3
getline
strtok
std::set
set_difference
strtok
std::set
set_difference
#4
能否详点写出来?
#5
fgets加
#include <stdio.h>
char s[]="123 ab 4";
char *p;
int v,n,k;
void main() {
p=s;
while (1) {
k=sscanf(p,"%d%n",&v,&n);
printf("k,v,n=%d,%d,%d\n",k,v,n);
if (1==k) {
p+=n;
} else if (0==k) {
printf("skip char[%c]\n",p[0]);
p++;
} else {//EOF==k
break;
}
}
printf("End.\n");
}
//k,v,n=1,123,3
//k,v,n=0,123,3
//skip char[ ]
//k,v,n=0,123,3
//skip char[a]
//k,v,n=0,123,3
//skip char[b]
//k,v,n=1,4,2
//k,v,n=-1,4,2
//End.
#6
fp=fopen(文件名,"r");
while(ch=getc(fp)!=EOF)
putchar(ch);
fclose(fp);
while(ch=getc(fp)!=EOF)
putchar(ch);
fclose(fp);
#7
刚学不久C,不懂大哥的程序,希能详术,并读两个文本试一试
#8
为何C要实现一个简单问题都很难,而用其它的某些语言却很容易。
#9
尺有所短,寸有所长。
C可以做一些其他语言做不了的,同时这种文本处理确实不如脚本语言。
#10
如果随机的产生两个数字集合如何实现它位之间的交,并,补等运算,用C++要求速度尽可能的快。5楼大哥请考虑如何?
#11
fscanf("%d\t",&....)即可
#12
应该是
fscanf(fp,"%d\t",&a)
#13
读取d盘根目录下1.txt文件。
文件内容:
代码如下:
文件内容:
代码如下:
#include<stdio.h>
int main()
{
FILE *fp;//定义文件指针
char a;//定义读取字符变量
if((fp=fopen("d:\\1.txt","r"))==NULL)//判断文件是否为空,是空提示错误,
{
printf("can not open this file\n");
exit(0);
}
else//否则只读方式打开要读的1.txt文件
{
while(!feof(fp))/*如果文件内容没有读完,那么执行下列代码。*/
{
fscanf(fp,"%c",&a);/*一个字符一个字符读文件中的字符*/
printf("%c",a);//每读一个字符就打印出来一个字符。
}
fclose(fp);/*关闭并保存文件。*/
}
printf("\n");
return 0;
}
#14
楼上这个把exit(0)改成return 0;可运行但只能读取文本不能比较两行相同的数据啊。
#15
如果随机的产生两个数字集合或者含有其它字符,如何实现它门之间的交,并,补等运算,用C++要求速度尽可能的快。
#16
额,对不住了,没看清题意,只看到了前半部分。菜鸟飞过,大牛勿怪。
#17
难者不会,会者不难
文本处理没有比C更简单的了
元芳,你怎么看
#19
对大家的回答都不如意
#20
#1
int sscanf( const char *buffer, const char *format, ... );
#2
fscanf(文件指针,读取格式,变量)
#3
getline
strtok
std::set
set_difference
strtok
std::set
set_difference
#4
能否详点写出来?
#5
fgets加
#include <stdio.h>
char s[]="123 ab 4";
char *p;
int v,n,k;
void main() {
p=s;
while (1) {
k=sscanf(p,"%d%n",&v,&n);
printf("k,v,n=%d,%d,%d\n",k,v,n);
if (1==k) {
p+=n;
} else if (0==k) {
printf("skip char[%c]\n",p[0]);
p++;
} else {//EOF==k
break;
}
}
printf("End.\n");
}
//k,v,n=1,123,3
//k,v,n=0,123,3
//skip char[ ]
//k,v,n=0,123,3
//skip char[a]
//k,v,n=0,123,3
//skip char[b]
//k,v,n=1,4,2
//k,v,n=-1,4,2
//End.
#6
fp=fopen(文件名,"r");
while(ch=getc(fp)!=EOF)
putchar(ch);
fclose(fp);
while(ch=getc(fp)!=EOF)
putchar(ch);
fclose(fp);
#7
刚学不久C,不懂大哥的程序,希能详术,并读两个文本试一试
#8
为何C要实现一个简单问题都很难,而用其它的某些语言却很容易。
#9
为何C要实现一个简单问题都很难,而用其它的某些语言却很容易。
尺有所短,寸有所长。
C可以做一些其他语言做不了的,同时这种文本处理确实不如脚本语言。
#10
如果随机的产生两个数字集合如何实现它位之间的交,并,补等运算,用C++要求速度尽可能的快。5楼大哥请考虑如何?
#11
fscanf("%d\t",&....)即可
#12
fscanf("%d\t",&....)即可
应该是
fscanf(fp,"%d\t",&a)
#13
读取d盘根目录下1.txt文件。
文件内容:
代码如下:
文件内容:
代码如下:
#include<stdio.h>
int main()
{
FILE *fp;//定义文件指针
char a;//定义读取字符变量
if((fp=fopen("d:\\1.txt","r"))==NULL)//判断文件是否为空,是空提示错误,
{
printf("can not open this file\n");
exit(0);
}
else//否则只读方式打开要读的1.txt文件
{
while(!feof(fp))/*如果文件内容没有读完,那么执行下列代码。*/
{
fscanf(fp,"%c",&a);/*一个字符一个字符读文件中的字符*/
printf("%c",a);//每读一个字符就打印出来一个字符。
}
fclose(fp);/*关闭并保存文件。*/
}
printf("\n");
return 0;
}
#14
楼上这个把exit(0)改成return 0;可运行但只能读取文本不能比较两行相同的数据啊。
#15
如果随机的产生两个数字集合或者含有其它字符,如何实现它门之间的交,并,补等运算,用C++要求速度尽可能的快。
#16
楼上这个把exit(0)改成return 0;可运行但只能读取文本不能比较两行相同的数据啊。
额,对不住了,没看清题意,只看到了前半部分。菜鸟飞过,大牛勿怪。
#17
为何C要实现一个简单问题都很难,而用其它的某些语言却很容易。
尺有所短,寸有所长。
C可以做一些其他语言做不了的,同时这种文本处理确实不如脚本语言。
难者不会,会者不难
文本处理没有比C更简单的了
元芳,你怎么看
#18
#19
对大家的回答都不如意