这道c语言题错在哪里了

作者&投稿:哈兔 (若有异议请与网页底部的电邮联系)
这道c语言题错误在哪里?~

%d,%d
中间有个逗号,所以输入也要有个逗号
即3,5

#include #define line 100#define row 100using namespace std;int main(){ int a[line][row], x, y, s; int m, n; int result; int i, j ; while (scanf("%d%d", &m, &n) != EOF) { for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { scanf("%d", &a[i][j]); } } result = abs((double)a[0][0]); x=0; y=0; //假如只有一个人,那么不会进入循环,所以,这里必须做一次赋值 s=a[0][0] ; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) //这里的条件应该是 j<n 而不是j<n-1 { if (result<abs((double)a[i][j])) //题目说了得分可能取很大的值,如果平方运算,可能溢出啦 { result = abs((double)a[i][j]); x = i; y = j; s = a[i][j]; } } } cout << x + 1 << " " << y + 1 << " "; cout << s << endl; } return 0;}

//做acm题目需要考虑全面,并不是说跟样例输出一样就正确了,很多边界条件是没有在输入样例中列举的,需要自己好好考虑。
//我刚才在杭电acm测试了,代码可以accepted

概念错误。准确地说,逻辑地址变为物理地址的过程应该叫做内存地址变换,不是内存重定位。
  在生成可行程序而没有加载之前,所需内存尚未得到分配,因而内存地址未知,使用这些地址的程序代码中的地址无法确定。在程序加载之后开始执行之前,这些内存地址就能够确定了,这时需要由操作系统把无法确定的地址修改正确,这个过程叫做“内存重定位”。在程序开始执行之后,如果操作系统需要重新调整程序在内存中的位置,可以在程序暂停期间重行分配,这个过程也叫做“动态重定位”。
  而地址变换发生在程序代码执行期间。程序中使用的地址永远是逻辑地址,而CPU使用的地址却是物理地址。在每条指令执行期间,需要由微处理器专门的称为“地址变换机构”的部件把逻辑地址转换为物理地址。虽然这一过程非常复杂,涉及微处理器的多方面机制以及特殊内存结构,但在现代计算机中,都是由硬件全自动高速完成的,所以并不影响程序的执行效率。
  内存位由操作系统完成的,是针对程序的,是由操作系统软件实现的,发生在程序加载之后、开始执行之前,或者当需要重新调整内存分配时暂停程序执行的暂停期间。地址变换是针对地址的,需要特殊的寄存器和内存结构,完全由处理机硬件完成,发生在程序的执行的过程中。一个是针对整个程序中,一个是针对程序中的大量地址的;一个是软件实现的,一个是硬件实现;一个在程序执行之前或暂停期间工作,一个是执行过程之中:很明显,这是完全不同的两个概念。

(D)重定位
根据重定位的时机不同,又分为静态重定位(装入内存时重定位)和动态重定位(程序运行时重定位)

D

D。


c语言问题
错误不是在k上,错误是在“ ”这个地方,双引号里的是字符串不是字符,而b是字符类型指针

c语言的一道题,帮我看下我的代码哪里错了
while(scanf("%lf %lf",&m,&n) != EOF) 这句估计会陷入死循环

求解c语言一道题,到底哪里错了
include"stdio.h"int main(){ int i; char name[30]; char i_name[30]; int i_num[8]; float i_sala[8]; for(i=1,i<=8,i++) scanf("%s","%d","%f",i_name,i_num,i_sala); scanf("%s",name); for(i=1,i<=8,i++)if(strcmp(i_name,name))\/\/if(...

c语言题目,求解一元二次方程,错在哪里?
输入有错误,输入的时候不要用逗号分隔,应该是用空格分隔,因为前面格式字符串是%f%f%f。见下scanf的介绍:1. 函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一...

C语言 第8题B为什么错了?
这个题应该选B,因为题目问的是“符合C语言语法的表达式”。A错:因为A是一条合法的语句而不是表达式(表达式末尾加一个分号“;”变成语句)。C错:因为取余%操作符要求其左右两个操作数均为整型。D错:因为赋值操作=要求左值为变量。B是正确的,因为B是一个合法的C语言表达式。a = 7 + b + c...

为什么这道C语言的关于字符数组的题我做错了?高手帮忙看下~~_百度...
if(n<=0||n>size1)\/\/判断条件"n<=0||n>20"也不对,在n=18处插入一个大小为4的字符串是不行的 \/\/我用这个判断插入点是否在str1的那些字符内,自己定的,好像你没这个要求 { do {printf("输入错误,请重新输入!\\n");scanf("%d",&n);}while(n<=0||n>size1);} \/* while(str...

C语言基本问题,请问哪里有错?
char a[]="I'm the god of the world!",b[]="Yes,you're hignest!";\/\/改为:char a[]="I'm the god of the world!",b[100]="Yes,you're hignest!";\/\/原因是将a复制到b时,b的存储空间不够。因此改为b[100]。

这道c语言题错在哪里了
这应该是对的啊,请看链接文件和索引文件的详细解释:1.链接文件 如果将逻辑文件中的各个逻辑记录任意存放到一些磁盘块中,再用指针把各个块按逻辑记录的顺序链接起来,在文件目录中只记录第一块的地址和最后一块的地址,读取时从第一块开始,根据每块中的指针访问到下一块直到最后一块,这种文件组织就是...

c语言,第九题acd错哪了?
a 是对的,如果 p 指向的字符串的第一个字符 是普通的 ASCII 字符。例如:char s[]="zbcd";char *p1=s, *p2=s;char c;c= *p1+*p2; \/\/ c 值 = 'z' + 'z' 可以用 16 进制输出数值。b 是错的,因 类型不对,如果是 p2= &c; 则是对的。d 通常是错的,因为乘积 ...

c语言的一道题,第六题abc错在哪呢?
在C中,非0真0,0为假,用作数值运算的的时候,真是1,假是0。a是两个字符'x'和'y'做与操作,因为x和y的ascii码都不是0,所以结果自然不是0,结果为1 b中x<=y,相当于3<=4,结果为真也就是1 c中x||y+z&& y-z,因为||优先级比&&低,所以相当于x||(y+z &&y-z),因为x不...

石景山区18882712228: c语言请看看我的题错在那里了? -
宗平青叶: #include<stdio.h> void main() //main打成mian了 { int max(int x, int y,int z); int a,b,c; scanf("%d,%d,%d",&a,&b,&c); //少了个%d c=max(a,b,c); printf("max=%d\n",c); } int max(int x,int y,int z)//; { int o; if(x>=y&&x>=z) o=x; // else if(y>=x&&y>=z) o=y; // else if(z>=x&&z>=y) o=z; // return(o); }

石景山区18882712228: 这道c语言题错在哪里了10.进程调度根据一定的调度算法,从等待队列中挑选出合适的进程. ( ) -
宗平青叶:[答案] 从就绪队列中挑选一个合适进程 进程调度的主要功能是:①保存当前运行进程的现场;②从就绪队列中挑选一个合适进程;③为选中的进程恢复现场.

石景山区18882712228: 兄弟帮我看看这一道C语言编程题错在哪里了??? -
宗平青叶: 错误有2个:1.你自己定义的qsort函数与C库的qsort函数重名,如果要用你自己的qsort,那你的qsort函数需要换个名字.2.// 求最大公约数int gcd(int a,int b){i...

石景山区18882712228: C语言 请问这道编程题哪里错了 -
宗平青叶: 错误太多了,1,数组a初始化时候花括号2,第三个打印为apace3,最后一个打印 printf(“\n”); 正确代码:#include<stdio.h> void main() { char a[5]={'*','*','*','*','*'}; int i,j,k; char apace=' ';for(i=0;i<5;i++) { printf("\n");printf(" ");for(j=1;j<=i;j++)printf("%c",apace);for(k=0;k<5;k++)printf("%c",a[k]);}printf("\n"); } 请采纳~~!

石景山区18882712228: C语言程序题中这道题错误在哪?主要是输出的结果之间无空格 -
宗平青叶: 在for循环中的printf没有空格 当你的for结束之后才有一个换行符 就是在所有数据输出完毕之后才有一个换行的动作 所以没有空格很正常

石景山区18882712228: C语言问题:这道代码错在哪里,详细解答 -
宗平青叶: for(i=0;i这里末尾不能加;,加了就表示这是一个完整的循环,后面的语句和这个循环没关系了.while也是个循环,你这里应该用if 数组在调用时只要数组名就行了,把printf里面的a[N]改成a 正确代码如下:#include #include #define N 100 main() { int i=0,b=0,c=0; char a[N]=""; gets(a); b=strlen(a); for(i=0;iif(a[i]!=a[b-i-1]) //if { printf("%s不是回文",a);//a break; } printf("%s是回文",a); printf("\n"); }

石景山区18882712228: 帮我看一下这到C语言题目我错在哪
宗平青叶: #include "stdio.h" #include"string.h" /*改动处*/ #define N 3 void main() /*改动处*/ {char a[N][10]; int i; void x(char (*p)[10]); /*改动处*/ for(i=0;i<N;i++) gets(a[i]); /*改动处*/ x(a); /*改动处*/ for(i=0;i<N;i++) printf("%s\n",a+i); /*改动处*/ } ...

石景山区18882712228: 一道C语言例题出错了,求帮忙看下错哪了 -
宗平青叶: 你最好先注明出错在哪儿,还有缺乏注释,建议添加适当说明信息. 我简单的看了下,你void insert(pointer *head)函数是不是缺少大括号? 还有你的代码不符合规范,太乱了,你把...

石景山区18882712228: 请各位看以下这道c语言题目的错误在哪里啊 ,编译的时候没有错误但是运行的时候出现了一个错误.
宗平青叶: 可能是你主函数main单词写错了 编译器只当你是普通函数

石景山区18882712228: C语言入门级新手 请帮忙看看这题的代码错在哪里? -
宗平青叶: #include /* 行末的分号不要 */ while((a=getchar())!=EOF) /* =!改为 != */

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网