大一C语言oj题,答案错误百分之五十,看了好久没看出错误,求大佬帮帮忙,万分感谢
编程是编定程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。设计具备逻辑流动作用的一种“可控体系”。
扩展资料:
计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。这种将高级程序设计语言编写的源程序转换到机器目标程序的方式有两种:
1、解释方式:计算机对高级语言书写的源程序一边解释一边执行,不能形成目标文件和执行文件。
2、编译方式:经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序,然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。
参考资料来源:百度百科-编程
初学电脑编程需要学习英语,选择一门编程语言,要有数学基础,具体介绍如下:
1、英语基础
计算机英语与传统的英语知识不同,需要了解的大部分是计算机的专业单词或者词汇,普遍较为简单。但是在高级编程中,会出现比较生涩的词汇,对于想要参与计算机语言设计以及在职业发展上有更多追求的同学可以自学一下大学英语。
2、选择一门编程语言
选择一门编程语言。虽然目前编程语言有600种左右,但是比较流行的编程语言只有几十种,所以尽量选择流行程度比较高的编程语言来入门编程。对于没有明确编程场景的初学者来说,尽量选择全场景编程语言,比如Java、Python、C#等就是不错的选择
3、数学基础
当然拥有初中阶段的数学基础也可以成为一名合格的程序员,这也是目前很多计算机编程培训学校招收初中毕业学生的原因。但想要成为一名优秀的程序员,最少要高中及以上的数学基础,而且要懂得如何举一反三,灵活运用。
4、了解计算机操作系统原理
所有的开发或者说软件应用都是在特定的操作系统上进行的,所以计算机操作系统原理可以说是基础中的基础是必须要了解的。
5、数据结构和算法
这门课程能够决定一个人程序设计水平的高低,是学习过程中需要重点掌握的。C和C++都是可以选择的,前期可以先学C,再学C++会相对简单一些。
在学习编程语言的过程中,也需要同时学习计算机网络、数据库等相关知识,在当前的云计算和大数据时代背景下,还需要掌握如何通过云计算(PaaS)来辅助开发,以及如何利用大数据平台的各种资源。
int judgebaozi(int a,int b,int c){
if(a==b&&b==c)
return a;
else return 0;
}
int judgeduizi(int a,int b,int c){
if(a==b||a==c)
return a;
else if(a!=b&&a!=c&&b!=c)
return 0;
else return b;
}
int judgedianzi(int a,int b,int c){
return a+b+c;
}
int judge1(int a,int b,int c){
if(a==b)
return c;
else if(a==c)
return b;
else if(b==c)
return a;
}
int main()
{
int a1,a2,a3,a4,a5,a6,k,m,o,p,q,r,s,t,j;
int data[9000][6];
scanf("%d",&k);
for(m=0;m<k;m++)
for(j=0;j<6;j++)
scanf("%d",data[m]+j);
for(m=0;m<k;m++){
a1=data[m][0];
a2=data[m][1];
a3=data[m][2];a4=data[m][3];a5=data[m][4];a6=data[m][5];
o=judgebaozi(a1,a2,a3);
p=judgebaozi(a4,a5,a6);
q=judgeduizi(a1,a2,a3);
r=judgeduizi(a4,a5,a6);
s=judge1(a1,a2,a3);
t=judge1(a4,a5,a6);
if(o!=0&&p!=0){
if(a1==a4)
printf("Draw\n");
else if(a1==1)
printf("lcy\n");
else if(a4==1)
printf("Ypop\n");
else if(a1>a4)
printf("lcy\n");
else
printf("Ypop\n");
}
else if(o!=0)
printf("lcy\n");
else if(p!=0)
printf("Ypop\n");
else if(q!=0&&r!=0){
if(q==r){
if(s==t)
printf("Draw\n");
else if(s==1)
printf("lcy\n");
else if(t==1)
printf("Ypop\n");
else if(s>t)
printf("lcy\n");
else
printf("Ypop\n");
}
else if(q==1)
printf("lcy\n");
else if(r==1)
printf("Ypop\n");
else if(q>r)
printf("lcy\n");
else printf("Ypop\n");
}
else if(q!=0)
printf("lcy\n");
else if(r!=0)
printf("Ypop\n");
else if(judgedianzi(a1,a2,a3)==judgedianzi(a4,a5,a6))
printf("Draw\n");
else if(judgedianzi(a1,a2,a3)>judgedianzi(a4,a5,a6))
printf("lcy\n");
else printf("Ypop\n");
}
return 0;
}
你的程序写得好,逻辑有一点问题!
举个例子
当s=2 t=1的时候,你这个就会判断出错
简单的说,你在比点的时候判断方式不对
另外一点,当两个都是点子的时候,从题目和示例中,无法看出来是比总大小还是比最大的,最大相等再比第二个
这个需要你自己尝试了
河南新华专注互联网教育三十二年 到校参观路费报销 免费试听课程!
OJ上的 C语言求解
这个就是组合而已,c(n,k),使用循环可以解决。稍等我贴上源代码 满意请采纳
c语言第三大题,有谁会吗
这是我当年oj上写的 没有制表符和换行符 你可以改改 includeint main(){ char ch; int a=0,b=0,c=0,d=0; while((ch=getchar())!='\\n') { if(((ch>='a')&&(ch='A')&&(ch<='Z'))) a++; else if(((ch>='-9')&&(ch='0')&&(ch<='9'))...
C语言求助,运行结果正确,但OJ上通不过,说是答案错误。
构思有问题——题目要求每行的数据个数不限,以-1结束,而你提供的代码每行只能输入最多100个数。就这一点就可以Don't pass!给你提供一个作参考——include "stdio.h"struct rec{\/\/记录max、min和ave的结构体,也可以不用结构体而用二维数组实现int max,min;double ave;};int main(int argc,...
C语言问题!OJ系统总是提示 run time error: segmentation fault...
segmentation段错误 A和B的数组太小了。。题目中说是小于250位,你直接定250位有点小 而且你第一位是AA[1]那么如果输入的是249位,你最后一位就是AA[249],按照你的程序,还有个回车就是AA[250],而AA的下标是从0-249的,这样你就出错了。这道题你搞个整数256多好啊,再豪放点300更好。(128...
有个C语言题目,请大家帮帮忙,谢谢
应该选c 是题目错了 3aebc应该是(3ae)\/(bc)解释:乘法和除法在C里面是优先级相同的。所以你可以从左向右顺序计算就可以了,而c的结果是(3ace)\/b
帮看看两道c语言编程题目吧,或者直接给翻译一下也行。。
第一题:编程实现100位以内的20进制数加法。20进制数的数字为0~9(即10进制的10个数字),外加字母a~j(作大于9的10个数字11~19,就像16进制里以a~f作大于9的6个数字11~15一样)。程序的输入为多行20进制数,程序的输出为两两相加后的20进制数。样本输入输出见Sample Input和Sample Output。...
C语言问题,是一道很奇怪的问题
\/ 这个貌似是ACM的题目吧?那个OJ的?题号?最好给个链接。^_^ \/ include <stdio.h> char number[][20]={"zero", "one", "two", "three", "four","five", "six","seven", "eight", "nine", "ten", "eleven","twelve","thirteen", "fourteen", "fifteen", "sixteen","...
c语言问题求解答
int CountInt()\/\/ 从键盘输入字符串,连续的数字字符算作一个整数,统计其中整数的个数。 {int i=0,a[]; \/\/ 整数存储到数组a,i记整数个数 scanf(“%c”,&ch);\/\/ 从左到右读入字符串 while(ch!=‘#’) \/\/‘#’是字符串结束标记 if(isdigit(ch))\/\/ 是数字字...
C语言运行结果是对的啊,为什么oj是错误回答啊
错远了,输入3 2 1试试就知道了。应写成——int main(int argv,char *argc[]){int x,y,z,t;double m;while(scanf("%d%d%d",&x,&y,&z)==3){if(x>=y)t=x,x=y,y=t;if(x>z)t=x,x=z,z=t;if(y>z)t=y,y=z,z=t;m=(x+y+z)\/3.0;printf("Average = %g,min ...
C语言题目 运行结果对了,但OJ过不了,请大家帮忙!
提供本题程序如下:include <stdio.h>#include <string.h>int main(){int i,j,n,m,b[10];char a[10][50];scanf("%d",&n);for(i=0;i<n;i++)b[i]=0;getchar();for(i=0;i<n;i++){gets(a[i]);m=strlen(a[i]);if(m>31){b[i]=1;break;}else for(j=0;j<m;j...
大任舒必: #include int main(){ int hour,minute,second,x,n,i; int hour_a,minute_a,second_a; //int hour_h,hour_l,minute_h,minute_l,second_h,second_l; 不用了 scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d%d%d%d",&hour,&minute,&second,&x); //输...
安远县18244865047: c语言程序 程序运行在校OJ上答案错误 - ?
大任舒必: 题目麻烦也上传一下好吗?如果有题目的OJ地址也可以#include<stdio.h>#define MAXSIZE 100 void Bubblesort(int s[], int n); int main() { int s, x; int a[MAXSIZE + 10]; while (scanf("%d", &x) != EOF && x) { for (s = 1; s <= x; s++) scanf("%d", &...
安远县18244865047: 大一,提交了一道C语言,提示错误百分五十!关于二维数组?
大任舒必: 题目呢,. 你定义的二维数组有问题,..int a[3][100]
安远县18244865047: c语言编程题目,以下两种做法,得出答案都是对的,为什么系统说第一个对,第二个答案错误50% - ?
大任舒必: 作为功能完整的代码来要求,两个代码都有问题,第二个的问题大一点.第一个代码请输入500 200验证,第二个代码请输入123 500验证,都不会有结果!
安远县18244865047: 一个OJ上的C语言题目,求方程的根,提交显示答案错误,帮忙看看 - ?
大任舒必: #includeintmain(){intk=0,i,j;scanf("%d",&i);if(2
安远县18244865047: c语言杭电oj为何显示错误? - ?
大任舒必: 输出有问题: printf("%d",c); for(i=2; i<=n; i++) { if(c==a[i])printf(" %d",a[1]); else printf(" %d",a[i]); } printf("\n");你最后的一个数字会多一个空格,ACM中是严格控制输出的!还有,建议你将c的初始值设置为INT_MAX,也就是编译器预设的int型最大值,你这个9999很有偶然性.最后,这个题目有问题,没有保证最小数字是否唯一,但是你的是按照唯一的做的.我目前就看出这么多了,你提交一下试试.
安远县18244865047: c语言问题: 为什么我这个算第n项菲波那契数列的程序会在OJ上被判错? 程序如下: #includ - ?
大任舒必: 你应该尝试两个点来检查你的错误:1. 打印输出n=0,1,2,3,4,5时候得结果看看是否正确2. 重新读题目,看看题目要求的n应该多大,如果n太大比如超过50则结果可能超出整形范围以后就成负数结果就错了 这时候需要采用长整形如__int64或者long long;或者利用数组实现大整形的计算
安远县18244865047: C语言编程题,题目如图所示,那个样例输入错了,其实是5.谢谢大家,急急急. - ?
大任舒必: #include int main() {int x,i,j,a[50]; scanf("%d",&x); for(j=-1,i=1;i if(x%i==0)a[++j]=i; a[++j]=x; for(i=0;i printf("%d,",a[i]); printf("%d\n",a[i]);return 0; }
安远县18244865047: C语言..电脑运行结果正确..提交OJ 出现wrong answer! - ?
大任舒必: 你说出来的题目不是很全,我觉得这道题是一道大数相加的题目...你自己好好看看题中的N的范围是多大.当N大的一定数的时候就会超出int 或者__int64的范围..给你一个我以前写的斐波那契大数相加..题目:http://acm.hdu.edu.cn/...
安远县18244865047: C语言 OJ系统题目 - ?
大任舒必: 那么问题在于:1 . 输入的是整数,没说明是正整数,所以说输入的可能是-100,那么上述代码就有逻辑问题.2. i和N的值应该在while循环里面从新赋值为i=1,N=0.否则随着迭代的增加,i和N就会是上次计算的值了. #include int main() { int i=1,...