导航:首页 > 编程语言 > oj编程第一道题

oj编程第一道题

发布时间:2023-02-16 23:34:34

① 请教一道杭电oj 2017的编程题,请教高手来解答啊


/*
杭电oj 2017的编程题
*/

#include<stdio.h>
#include<string.h>
int main()
{
int i,j,n;

while(scanf("%d",&n)!=EOF)//n 字符串个数
{ char a[100][1000];
//下一步改正
char (*p)[1000]=&a[0];//指向一维数组的char型指针变量
int cout[1000]={0};
for(i=0;i<n;i++)
{
gets(a[i]);//n 个字符串

}
for(i=0;i<n;i++)
{
for(j=0;j<strlen(a[i]);j++)
{
if( *(*(p+i)+j) <='9' && *(*(p+i)+j) >='0' )
{
cout[i]++;
}
}

}
for(i=0;i<n;i++)
{
printf("%d\n",cout[i]);
}

}

return 0;

}

② 大家帮看一下OJ上的一道C语言的题。谢谢!!

在s[j 1]=s[i];语句后加语句j ;我只看出这一点,如果不对,见谅!Helloyujingping2009,希望有帮助.更多到软件测试基地,365testing泡泡

③ 南阳理工OJ第一题A+B problem 用java编程在eclipse上能运行正确,为什么在OJ上提交时总是CompileError!

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int a = cin.nextInt(), b = cin.nextInt();
System.out.println(a + b);
}
}

用这个试试

④ C语言 OJ系统题目

那么问题在于:
1 . 输入的是整数,没说明是正整数,所以说输入的可能是-100,那么上述代码就有逻辑问题。
2. i和N的值应该在while循环里面从新赋值为i=1,N=0。否则随着迭代的增加,i和N就会是上次计算的值了。
#include<stdio.h>
int main()
{
int i=1,n,N=0;
while((scanf("%d",&n))!=EOF)
{
i=1, N=0;
if(n>=1)
{
while(i<=n)
{
N=N+i;
i++;
}
}
else{ // n为负数,不是要continue,而也是要计算。比如n=-2,就计算1+0+(-1)+(-2)
while(i>=n)
{
N=N+i;
i--;
}
}
printf("%d\n",N);
}
return 0;
}

⑤ 关于C语言OJ的一道题:Time Limit Exceeded

调试了一下你的代码

有两个问题:

  1. 如果ori字符串本身比pat短,是不需要匹配的,直接结果0

  2. 如果已经有i个字符匹配,测试第4组数是,pat从头开始匹配,而实际上是从pat下标为3的地方开始匹配

最后,代码太多逻辑判断影响速度,附KMP函数代码

intKMP(char*ori,char*pat)
{
char*temp,*p;
intnum=strlen(pat);
inti=0,j=0;
int*next;
intsum=0;
//求出next数组
next=(int*)malloc((num+1)*sizeof(int));
memset((int*)next,0,(num+1)*sizeof(int));
p=temp=pat;
pat++;
while(*pat)
{
if(*pat==*temp)
{
*(next+i+2)=j+1;
pat++;
temp++;
j++;
}
else
{
pat++;
j=0;
}
i++;
}
//匹配字符串
pat=p;
i=0;
while(*ori)
{
if(strlen(ori)<strlen(pat))
break;
if(*ori==*pat)
{
ori++;
pat++;
i++;
if(*pat=='')
{
sum++;
pat=p+next[i];
i=next[i];
}
}
else
{
if(i==0)
ori++;
pat=p+next[i];
i=next[i];
}
}
returnsum;
}

next多申请了一个,主要为了存当已匹配匹配0个时对应数字

⑥ 一道入门编程题 杭电oj 2022.高手帮下~!!!

大概看了一下程序,应该是范围问题吧,他最低给到了-2147483648分,已经超出了int范围,用更大范围的数试试,c有点忘了,准备往java方向发展哈

⑦ 一道oj上的编程题c语言

#include <stdio.h>
int main() {
int n,m,i,j,t;
scanf("%d%d",&n,&m);
int arr[m];

for(j=0;j<m;j++) arr[j]=0; /*初始化*/

for(i=0; i<n; i++)
for(j=0; j<m; j++) {
scanf("%d",&t);
arr[j]+=t;
}

for(j=0; j<m; j++) {
printf("%d",arr[j]);
if(j<m-1) printf(" ");
}
}

⑧ 关于杭电OJ第一题的问题,还有顺便把提交后的系统给的状态简单解释一下吧,谢谢啦

Process to end of file就是处理到文件的结束

第一个main()打错了,并且只处理一组数据,没有处理到文件的结束。
第二个 while(scanf("%d%d", &i, &j) == 2) 的意思是当输入两个有效数字时,就执行循环,当处理到文件的结束时(即为-1),停止循环。
此句也可改为 while(scanf("%d%d", &i, &j) !=EOF) ,EOF就是end of file,其值为-1

⑨ 杭电OJ 第一题 1000 为什么超时

你的true始终是真,因此会一直要求输入,所以会超时,上面的话你把输入放在判断出,那么当你输入到最后也就是不想再输入的时候他会停止的

⑩ C++OJ编程题

(1)每次读出一行,放到缓冲字符串里面。
(2)整形:跳过字符串前面的空白、tab等看不见的字符,找到首字符位置。
(3)判断是否以//开头。是则读下一行;否则打印该行。

阅读全文

与oj编程第一道题相关的资料

热点内容
python代码精简 浏览:455
文件加密了怎么找到了 浏览:193
jellyfin插件怎么选择主服务器 浏览:836
asp用户注册源码 浏览:48
什么是照片压缩文件 浏览:392
java调用js代码 浏览:979
昆山市民app怎么修改身份信息 浏览:779
php登陆次数 浏览:744
python字符转成数字 浏览:822
海川用的是什么服务器 浏览:376
口才是练出来的pdf 浏览:458
云服务器哪个公司性价比高 浏览:517
源码论坛打包 浏览:558
php怎么做成word 浏览:692
python批量生成密钥 浏览:492
程序员要不要考社区人员 浏览:150
app的钱怎么充q币 浏览:814
android银行卡识别 浏览:756
怎么在app投放广告 浏览:11
手机文件管理怎么看app名称 浏览:192