在c语言数组视频教程中,定义一个整形数组 并赋值, 从键盘输入一个整形数据,怎样查找这一个数据在此数组中下标?

C语言中如何手动输入一字符串赋给一数组,再定义另一数组,将第一个数组中的各字符的ASC码赋值给第二个数组
C语言中如何手动输入一字符串赋给一数组,再定义另一数组,将第一个数组中的各字符的ASC码赋值给第二个数组
C语言中如何手动输入一字符串赋给一数组,再定义另一数组,将第一个数组中的各字符的ASC码赋值给第二个数组,请高手作答。
#include&stdio.h&
void main()
char a[11];
int b[10],i;
for(i=0;i&10;i++)
scanf(&%c&,&a[i]);
getchar();
//接收 回车键
a[10]='\0';
// 字符串以'\0'结束
for(i=0;i&10;i++)
b[i]=a[i];
// 用数组a的ASC赋值
printf(&string:&);
printf(&%s&,a);
printf(&\n&);
for(i=0;i&10;i++)
printf(&%d &,b[i]);
printf(&\n&);
}
其他回答 (1)
sin[512],sout[512];
int i,
i=0;
scanf(&%s&,sin);
while(s[i]!=‘$’)
{
temp=Asc[s[i]];
sout[i].Format(&%d&,temp);
相关知识等待您来回答
编程领域专家中国石油大学C语言上机题答案(2013版)答案_最全最详细_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
47页免费57页免费99页免费88页7下载券57页免费 6页免费57页1下载券70页1下载券57页1下载券99页4下载券
中国石油大学C语言上机题答案(2013版)答案_最全最详细|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
你不是会CString么 ,FindStringEx,
等 级:版主
威 望:211
帖 子:18651
专家分:36427
用cin收下的就是一個單詞
授人以渔,不授人以鱼。
等 级:论坛游民
帖 子:14
专家分:13
回复 2楼 hahayezhe
不好意思,我现在只会用简单的cstring!这题能用链表吗?今天刚学链表
等 级:新手上路
这个问题不这么懂。
等 级:小飞侠
帖 子:874
专家分:2394
话说我还真没看懂这题目的意思。
冰冻三尺,非一日之寒;士别三日,不足刮目相看!
等 级:论坛游民
帖 子:14
专家分:13
不好意思啊,我题意说的不是很清楚,是这样的:
输入一个整数n,代表n个被记过的人(可以重复),然后输入那n个人名;
再输入另一个整数m,代表想查找的m个人,然后输入这m个人名;最后输出查找的m个人中每个人被记过的次数;
比如说输入
&&&&&6&&&(表示6个人被记过)分别是:
&&&&&Marilyn&&
&&&&&Smith
&&&&&Marilyn
&&&&&Smith
再输入 2&&&(表示想查2个人)分别是:
&&&&&Marilyn
最后输出&&2&&&(表示Marilyn被记过2次)
&&&&&&&&& 0&&&(表示Kate被记过0次)
这样懂了吗?麻烦各位高手给点提示,谢谢啦!
等 级:论坛游侠
帖 子:110
专家分:198
输入一个整数N,循环N次 循环内部输入一个字符串并赋值到二维字符串数组a【N】,循环结束后在输入整数Y,循环Y次 循环内部输入一个字符串并赋值到二维字符串数组B【Y】中,输入完成后循环N次 循环内部在循环Y次 用a[N]比较字符串b[Y](好像是strcmp函数,记得要加头文件)函数返回值为0说明两个字符串一样,定义一个整形数组w[Y] 让w[Y]=w[Y]+1,记得把数组初始化0,然后循环Y次 循环内部输出w[Y]..定义数组可以用动态分配的 初始化的数组可以用那个什么分配内存块什么的函数..忘记函数名了
等 级:论坛游民
帖 子:14
专家分:13
感谢各位!这是我最后写出来得代码!
#include&iostream&
#include&cstring&
int main()
&&& int a,b;
&&& char c[],d[1001];
&&& cin&&a;
&&& for(int i=0;i&a;i++)
&&&&&&&&&&&&cin&&d;
&&&&&&&&&&&&int t=strlen(d);
&&&&&&&&&&&&for(int y=0;y&t;y++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&c[i][y]=d[y];
&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&c[i][t]=NULL;
&&& cin&&b;
&&& while(b--)
&&&&&& cin&&d;
&&&&&& int p=0,q;
&&&&&& for(int j=0;j&a;j++)
&&&&&&&&& int t=strlen(d);
&&&&&&&&& q=1;
&&&&&&&&& for(int g=0;g&t;g++)
&&&&&&&&& {
&&&&&&&&& if(d[g]!=c[j][g]) {q=0;}
&&&&&&&&& }
&&&&&&&&& p+=(q==1)?1:0;
&&&&&&cout&&p&&
&&&&&return 0;
结贴!在此感谢各位的建议!
[ 本帖最后由 chenbjin 于
14:37 编辑 ]
等 级:论坛游民
帖 子:19
专家分:43
版权所有,并保留所有权利。
Powered by , Processed in 0.047532 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved数据结构C语言版期末考试试题(有答案)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者贡献于
评价文档:
22页免费99页1下载券38页免费15页免费9页免费 21页1下载券17页1下载券4页免费13页1下载券8页2下载券
喜欢此文档的还喜欢40页1下载券13页2下载券114页免费
数据结构C语言版期末考试试题(有答案)|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:41.19KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢C语言中如何将一个数组导入到文件中?_百度知道
C语言中如何将一个数组导入到文件中?
下面是我的程序,不知道哪里出错了,望各位高手指点!#include &stdio.h&main(){FILE *
//定义文件指针float a[3][3];fp=fopen(&E:\C\b\1.txt&,&w&); //在E盘创建一个“1.txt”文件for(i=1;i&4;i++){ for(j=1;j&4;j++)
a[i][j]=i+j; printf(&%f\n&,a[i][j]); fprintf(fp,&%f\n&,a[i][j]);//把数据写入fp指向的文件(1.txt)中 }fclose(fp);//关闭文件指针}
提问者采纳
字符读写函数fgetc和fputc 字符读写函数是以字符(字节)为单位的读写函数。 每次可从文件读出或向文件写入一个字符。 1. 读字符函数fgetc fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为: 字符变量=fgetc(文件指针); 例如: ch=fgetc(fp); 其意义是从打开的文件fp中读取一个字符并送入ch中。 对于fgetc函数的使用有以下几点说明: 1) 在fgetc函数调用中,读取的文件必须是以读或读写方式打开的。 2) 读取字符的结果也可以不向字符变量赋值, 例如: fgetc(fp); 但是读出的字符不能保存。 3) 在文件内部有一个位置指针。用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetc 函数后,该位置指针将向后移动一个字节。 因此可连续多次使用fgetc函数,读取多个字符。应注意文件指针和文件内部的位置指针不是一回事。文件指针是指向整个文件的,须在程序中定义说明,只要不重新赋值,文件指针的值是不变的。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。 读入文件c1.doc,在屏幕上输出。 #include&stdio.h& main() { FILE *
if((fp=fopen(&d:\\jrzh\\example\\c1.txt&,&rt&))==NULL) { printf(&\nCannot open file strike any key exit!&); getch(); exit(1); } ch=fgetc(fp); while(ch!=EOF) { putchar(ch); ch=fgetc(fp); } fclose(fp); } 本例程序的功能是从文件中逐个读取字符,在屏幕上显示。程序定义了文件指针fp,以读文本文件方式打开文件“d:\\jrzh\\example\\ex1_1.c”,并使fp指向该文件。如打开文件出错,给出提示并退出程序。程序第12行先读出一个字符,然后进入循环,只要读出的字符不是文件结束标志(每个文件末有一结束标志EOF)就把该字符显示在屏幕上,再读入下一字符。每读一次,文件内部的位置指针向后移动一个字符,文件结束时,该指针指向EOF。执行本程序将显示整个文件。 2. 写字符函数fputc fputc函数的功能是把一个字符写入指定的文件中,函数调用的形式为: fputc(字符量,文件指针); 其中,待写入的字符量可以是字符常量或变量,例如: fputc('a',fp); 其意义是把字符a写入fp所指向的文件中。 对于fputc函数的使用也要说明几点: 1) 被写入的文件可以用写、读写、追加方式打开,用写或读写方式打开一个已存在的文件时将清除原有的文件内容,写入字符从文件首开始。如需保留原有文件内容,希望写入的字符以文件末开始存放,必须以追加方式打开文件。被写入的文件若不存在,则创建该文件。 2) 每写入一个字符,文件内部位置指针向后移动一个字节。 3) fputc函数有一个返回值,如写入成功则返回写入的字符,否则返回一个EOF。可用此来判断写入是否成功。 从键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上。 #include&stdio.h& main() { FILE *
if((fp=fopen(&d:\\jrzh\\example\\string&,&wt+&))==NULL) { printf(&Cannot open file strike any key exit!&); getch(); exit(1); } printf(&input a string:\n&); ch=getchar(); while (ch!='\n') { fputc(ch,fp); ch=getchar(); } rewind(fp); ch=fgetc(fp); while(ch!=EOF) { putchar(ch); ch=fgetc(fp); } printf(&\n&); fclose(fp); } 程序中第6行以读写文本文件方式打开文件string。程序第13行从键盘读入一个字符后进入循环,当读入字符不为回车符时,则把该字符写入文件之中,然后继续从键盘读入下一字符。每输入一个字符,文件内部位置指针向后移动一个字节。写入完毕,该指针已指向文件末。如要把文件从头读出,须把指针移向文件头,程序第19行rewind函数用于把fp所指文件的内部位置指针移到文件头。第20至25行用于读出文件中的一行内容。 把命令行参数中的前一个文件名标识的文件,复制到后一个文件名标识的文件中, 如命令行中只有一个文件名则把该文件写到标准输出文件(显示器)中。 #include&stdio.h& main(int argc,char *argv[]) { FILE *fp1,*fp2;
if(argc==1) { printf(&have not enter file name strike any key exit&); getch(); exit(0); } if((fp1=fopen(argv[1],&rt&))==NULL) { printf(&Cannot open %s\n&,argv[1]); getch(); exit(1); } if(argc==2) fp2= else if((fp2=fopen(argv[2],&wt+&))==NULL) { printf(&Cannot open %s\n&,argv[1]); getch(); exit(1); } while((ch=fgetc(fp1))!=EOF) fputc(ch,fp2); fclose(fp1); fclose(fp2); } 本程序为带参的main函数。程序中定义了两个文件指针fp1和fp2,分别指向命令行参数中给出的文件。如命令行参数中没有给出文件名,则给出提示信息。程序第18行表示如果只给出一个文件名,则使fp2指向标准输出文件(即显示器)。程序第25行至28行用循环语句逐个读出文件1中的字符再送到文件2中。再次运行时,给出了一个文件名,故输出给标准输出文件stdout,即在显示器上显示文件内容。第三次运行,给出了二个文件名,因此把string中的内容读出,写入到OK之中。可用DOS命令type显示OK的内容。 字符串读写函数fgets和fputs 1. 读字符串函数fgets 函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针); 其中的n是一个正整数。表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志'\0'。 例如: fgets(str,n,fp); 的意义是从fp所指的文件中读出n-1个字符送入字符数组str中。 从string文件中读入一个含10个字符的字符串。 #include&stdio.h& main() { FILE * char str[11]; if((fp=fopen(&d:\\jrzh\\example\\string&,&rt&))==NULL) { printf(&\nCannot open file strike any key exit!&); getch(); exit(1); } fgets(str,11,fp); printf(&\n%s\n&,str); fclose(fp); } 本例定义了一个字符数组str共11个字节,在以读文本文件方式打开文件string后,从中读出10个字符送入str数组,在数组最后一个单元内将加上'\0',然后在屏幕上显示输出str数组。输出的十个字符正是例13.1程序的前十个字符。 对fgets函数有两点说明: 1) 在读出n-1个字符之前,如遇到了换行符或EOF,则读出结束。 2) fgets函数也有返回值,其返回值是字符数组的首地址。 2. 写字符串函数fputs fputs函数的功能是向指定的文件写入一个字符串,其调用形式为: fputs(字符串,文件指针); 其中字符串可以是字符串常量,也可以是字符数组名,或指针变量,例如: fputs(“abcd“,fp); 其意义是把字符串“abcd”写入fp所指的文件之中。 在前例中建立的文件string中追加一个字符串。 #include&stdio.h& main() { FILE * char ch,st[20]; if((fp=fopen(&string&,&at+&))==NULL) { printf(&Cannot open file strike any key exit!&); getch(); exit(1); } printf(&input a string:\n&); scanf(&%s&,st); fputs(st,fp); rewind(fp); ch=fgetc(fp); while(ch!=EOF) { putchar(ch); ch=fgetc(fp); } printf(&\n&); fclose(fp); } 本例要求在string文件末加写字符串,因此,在程序第6行以追加读写文本文件的方式打开文件string。然后输入字符串,并用fputs函数把该串写入文件string。在程序15行用rewind函数把文件内部位置指针移到文件首。再进入循环逐个显示当前文件中的全部内容。 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
其他类似问题
是fp=fopen(&E:\\C\\b\\1.txt&,&w&); //在E盘创建一个“1.txt”文件
按默认排序
其他6条回答
zxsh@zxsh-laptop:~/code/tmp$ cat unload.c//File: unload.c#include &stdio.h&intmain (){
//定义文件指针
float a[3][3];
fp = fopen (&1.txt&, &w&); //在E盘创建一个“1.txt”文件
for (i = 0; i & 3; i++)//注意下标从0开始,你的是从1开始。
for (j = 0; j & 3; j++)//注意下标从0开始,你的是从1开始。 {
a[i][j] = i +
printf (&%f\n&, a[i][j]);
fprintf (fp, &%f\n&, a[i][j]); //把数据写入fp指向的文件(1.txt)中 }
fclose (fp);
//关闭文件指针
return 0;}zxsh@zxsh-laptop:~/code/tmp$ gcc -g -Wall unload.c -o unload
zxsh@zxsh-laptop:~/code/tmp$ ./unload 0.0000001.0000002.0000001.0000002.0000003.0000002.0000003.0000004.000000zxsh@zxsh-laptop:~/code/tmp$ 程序已调好,直接运行即可。
非常感谢,我试过这个程序是对的,那请问我想让他们输出时也像是这个矩阵,就是在文本中也是3行3列形式,这样该如何实现?
zxsh@zxsh-laptop:~/code/tmp$ cat unload.c#include &stdio.h&intmain (){
//定义文件指针
float a[3][3];
fp = fopen (&1.txt&, &w&); //在E盘创建一个“1.txt”文件
for (i = 0; i & 3; i++)
for (j = 0; j & 3; j++) {
a[i][j] = i +
printf (&%f &, a[i][j]);
fprintf (fp, &%f &, a[i][j]); //把数据写入fp指向的文件(1.txt)中
printf(&\n&);
fprintf(fp,&\n&);
fclose (fp);
//关闭文件指针
return 0;}zxsh@zxsh-laptop:~/code/tmp$ !gcgcc -g -Wall unload.c -o unloadzxsh@zxsh-laptop:~/code/tmp$ !../unload 0...000000 1...000000 2...000000 zxsh@zxsh-laptop:~/code/tmp$
不好意思,还有一个问题,我写出来的文件每一行的数字都是连起来的,如何把它们分开呢?
什么意思,怎么个连法,可否举例?
我的文件写出来是这样的:0.1.2.可不可以每个数分隔出来
那是因为你打印的时候每个数之后没加分隔符,打印时加分隔符即可。
那分隔符怎么写呢?用哪一个?
打印的时候%f后面加个空格就行了。
'\'这个字符在c中是有特殊含义的,如果你的字符串里面包含‘\’这个字符,要使用’\\'转义。对于转义字符,要详细了解一下。然后,数组下标从0到n-1,所以你的两层循环都要从0开始,然后循环n次,到n-1。最后,你的内层循环要用{}括起来啊,这样才能输出3*3=9条内容。
#include &stdio.h&
//若是vc6.0中改为&stdio.h&main(){FILE *
float a[3][3];fp=fopen(&E:\C\b\1.txt&,&w&);
//vc6.0中这个地方路径改为 E:\\C\\b\\1.txtfor(i=1;i&4;i++)
//c语言中规定数组下标从0开始,改为for(i=0;i&3;i++)
//这个地方的括弧可以不要 for(j=1;j&4;j++)
//c语言中规定数组下标从0开始,改为for(i=0;i&3;i++)
//循环体打括弧
a[i][j]=i+j; printf(&%f\n&,a[i][j]); fprintf(fp,&%f\n&,a[i][j]);
//循环体打括弧}fclose(fp);//关闭文件指针}
不是那的错,是你定义数组错了~float a[3][3];for(i=1;i&4;i++){ for(j=1;j&4;j++)明显溢出!!!!!
从键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上。 #首先把文本文件以数值形式读入到数组中,然后用排序算法将其排序,就OK了。
数组的下标是 0-2 ,你使用了 1-3
数组越界了
c语言的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 c语言数组视频教程 的文章

 

随机推荐