A. c语言纠错
感觉你的思路有问题,你是找出了数组中最大的值然后判断它是否是该列最小的元素,你题目意思理解错了。你应该先找出每行上最大的元素,然后把它和他所在的行和列都记下来,然后分别判断这三个元素是否是它所在列最小的元素,是就输出,不是就进行下一步
或者还有一种思路,边找边判断,第一行找出最大元素,然后判断他是否是该列最小的元素;第二行找出最大元素,然后判断他是否是该列最小的元素;第三行找出最大元素,然后判断他是否是该列最小的元素。
有可能满足该条件的元素有好多个。
B. C语言代码运行出错 怎么改正
scanf("%s", &a);
而scanf_s()用于读取字符串时,必须提供一个数字以表明最多读取多少位字符,以防止溢出。
比如:scanf_s("%s" , buffer,128); /* 这里必须要有128,以表明最多读取128个字符,如果写成scanf_s("%s",buffer),程序将无法执行到底,且编译器会提示“Unhandled exception at 0xfefefefe in array.exe:0xC0000005: Access tion.” 。当然在安全性要求不高的情况下,不 一定非要用scanf_s()函数,可用scanf("%s",&buffer)代替。 */
C. c语言:如何改正
strlwr未定义,可for循环判定即可,将下图部分代码替换。
else
{
intflag=0;
for(inti=0;i<strlen(str1);i++)
{
if(str1[i]==str2[i]||abs(str1[i]-str2[i])==32)//ASCII码中大小写字母相差32,如A是65,a是97
continue;
else
{
flag=1;
break;
}
}
if(flag==0)
printf("3");
else
printf("4");
}
D. C语言怎么纠正错误输入
我只能想到两种解决办法:
改变接收类型,从int改为char,再在scanf后面加一句fflush(stdin); 清除输入的多余字符
改变接收类型,从int改为char[],利用atoi函数将字符串转为数字。(缺点:转化失败是返回0)