精华内容
下载资源
问答
  • C语言oj做题记录

    2021-04-23 18:58:05
    C语言oj做题记录题目一、代码二、运行结果和思考1.运行结果思路总结缺陷思考 题目 Problem A: 调用自定义函数search(int list[], int n),在数组中查找某个数 要求:输入10个整数存储到数组a,再输入一个整数x,在数组...


    题目

    要求:输入10个整数存储到数组a,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示"Not found"。要求定义和调用函数search(int list[], int n, int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1.

    一、代码

    #include <stdio.h>
    int fun(int*p,int n,int x){//定义一个函数 ; 
      int left = 0;//数组从0开始 ; 
      int right = n-1;//数组长度为元素长度-1 ; 
      int mid ;//定义一个中间值 ,二分法原理; 
       while (left<=right){//保证循环完 ; 
       mid = (right + left)/2;//循环一次,更新一次mid的值 ; 
       if(p[mid]==x){ 
        break;//如果这个p【mid】为你要找的x,跳出循环,进行下一步;
       }
       else if(p[mid]>x){
        right = mid - 1;//如果这个p【mid】>你要找的x,那就让数组长度缩小到中间-1; 
       }
       else left = mid + 1;//同上理 ; 
      } 
      if (left<right){
       return mid;//如果在循环过程中找到了,return mid; 
      }
      else return -1;//如果循环完还没找到,return -1; 
       
      
     }
    int main(){
     	int a[10],x;
     	while (scanf("%d",&a[0])!=EOF){
     	for (int i=1;i<10;i++)
     		scanf("%d",&a[i]);
    	scanf("%d",&x) ;
    	int m;
    	m = fun(a,10,x);
    	if (m<0){
    	printf("Not found\n");
    	}
    	else printf("%d\n",m); 
    	} 
    	return 0;
    }
    

    二、运行结果和思考

    1.运行结果

    在这里插入图片描述

    思路总结

    1.多组测试数据,先判断输入的数据是否是数据,是的话则读入剩下的九个数字和用于寻找的数字 ;使用对分查找找到要寻找的数的下标

    缺陷思考

    1.这样的书写方式代码健壮性不强,用户在输入不是数字类型的数据时没有做出处理,但考虑oj有测试数据,所以这里不做处理
    展开全文
  • C语言OJ项目参考 1923 ASCII码排序

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                         

    (1923) ASCII码排序
    Description
    输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
    Input
    输入数据有多组,每组占一行,有三个字符组成,之间无空格。
    Output
    对于每组输入数据,输出一行,字符中间用一个空格分开。
    Sample Input
    qwe
    asd
    zxc
    Sample Output
    e q w
    a d s
    c x z

    [参考解答]

    #include<stdio.h>int main(){    char a,b,c,t;    int input;    input=scanf("%c%c%c",&a,&b,&c);    while(input!=EOF)    {        if(a>b) //保证a<=b        {            t=a;            a=b;            b=t;        }        if(a>c) //保证a<=c,这样,a就最小了        {            t=a;            a=c;            c=t;        }        if(b>c) //对比a大的两个字符,保证b<=c        {            t=b;            b=c;            c=t;        }        printf("%c %c %c\n",a,b,c);        scanf("%c",&a);//fflush(stdin);清除最后输入的换行符的影响        input=scanf("%c%c%c",&a,&b,&c);    }    return 0;}
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • 私密日记问题 C语言 OJ Noder现在在上初中了,日记里面也会出现一些敏感话题,为了防止别人看自己的小秘密,他想对自己的日记进行加密。 他的加密算法如下:日记长度是n,有一个长度为n的整形数组p,里面的数字两两...

    私密日记问题 C语言 OJ

    Noder现在在上初中了,日记里面也会出现一些敏感话题,为了防止别人看自己的小秘密,他想对自己的日记进行加密。
    他的加密算法如下:日记长度是n,有一个长度为n的整形数组p,里面的数字两两不相同,(1<=i<=n,1<=pi,i<=n)。然后对日记进行m次轮换。
    每次轮换是将日记中的第i个字符换到第pi个位置去。
    输入的日记长度不会超过n。如果长度没有到n就在后面补上空格到n。

    #include <stdio.h>
    #include <string.h>
    #define N 201
    
    
    int main(void) {
        int len;
        scanf("%d", &len);
        int p[N] = {0};
        for (int i = 1; i <= len; i++) {
            scanf("%d", &p[i]);
        }
        //赋值完成
    
        int m = 0;
        while (1) {
            char diary[N] = {0};
            char after[N] = {0};
            scanf("%d", &m);
            if (m == 0) break;
            scanf("%s", diary);
            int l = (int) strlen(diary);
    
            for (int i = strlen(diary); i < len; i++) {
                diary[i] = '\x20';
            }//补齐
    
            for (int k = 0; k < len; k++) {
                after[k] = diary[k];
            }//相等
    
            for (int j = m; j > 0; j--) {
                for (int i = 1; i <= strlen(diary); i++) {
                    after[p[i]-1] = diary[i-1];
                }
                for (int i = 1; i <= strlen(diary); i++) {
                    diary[i-1] = after[i-1];
                }
            }
            printf("%s\n", diary);
        }
        return 0;
    }
    

    此题目需要注意的地方在于补齐空格。空格的转义字符是\x20。

    展开全文
  • 华南农业大学c语言,online judge答案。 如果有需要可以下下载来看看,但只有前十章,剩下两张还没整理,
  • 输出样例23分析:两个for循环枚举输入的每组数据中的每个字符到达每个字符的花费,然后比较求出最小值输出。//翻了个错误,只意识到向后转换没有意识到向前也可以转换,这两个中选花费最少的//#define min(a,b) a//...

    输出样例

    2

    3

    分析:两个for循环枚举输入的每组数据中的每个字符到达每个字符的花费,然后比较求出最小值输出。

    //翻了个错误,只意识到向后转换没有意识到向前也可以转换,这两个中选花费最少的

    //#define min(a,b) a

    //最小值得求法 min(abs(i-j),26-abs(i-j));

    #include

    #include

    #include

    //#include

    #define min(a,b) a

    using namespace std;

    int main ()

    {

    string mystr;

    int n;

    int m[1001];//暂存数据

    char mych = NULL;

    int cost;

    int mymin;

    int myout[101];

    cin >> n;

    for (int i_1 = 0;i_1 < n;i_1++)

    {

    cin >> mystr;

    //计算每一个字符的花费,最后比较选出最小

    for (int i_2 = 0;i_2 < mystr.length();i_2++)

    {

    //if (mych == mystr[i_2])//已经有过这个字母了,不需要继续比较了

    //{

    //continue;

    //}

    mych = mystr[i_2];

    cost = 0;

    for (int i_3 = 0;i_3 < mystr.length();i_3++)

    {

    cost += min(abs(mystr[i_3] - mych),26-abs((mystr[i_3] - mych)));//计算出每一个单词的花费

    }

    m[i_2] = cost;//暂存一组数据中每个单词的最小花费

    //cout <

    }

    //cout << m[0]<< m[1]<< m[2]<

    //比较,选出改组的最小值

    mymin = m[0];

    for (int i_4 = 1;i_4 < mystr.length();i_4++)

    {

    if (mymin > m[i_4])

    {

    mymin = m[i_4];

    }

    }

    //cout << mymin <

    myout[i_1] = mymin;

    //cout << sizeof(m)/sizeof(m[0]) <

    }

    //输出结果

    for (int i_5 = 0;i_5 < n; i_5++)

    {

    cout << myout[i_5] <

    }

    return 0;

    }

    展开全文
  • C语言OJ 大象喝水

    2021-06-13 10:00:13
    文章目录题目描述输入输出提示程序运行实例一、解题思路二、题解源代码写在最后 题目描述 一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)。...
  • C语言oj 计算鞍点

    2021-03-20 21:18:10
    Description 给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。 鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。 例如:在下面的例子中(第4行第1列的...
  • Web Home ProblemSet Standing Status Statistics Board Problem J: 杨辉三角 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 56 Solved: 21 [ Submit][ Status ][ Web Board] Description 杨辉三角 又称贾宪...
  • oj上的C语言题目,带小数的高精度算法0题目描述这次考试都是选择题。考试的时候,181818181818对每道选择题的4个选项的选取是基于一定的概率。比如ABCD4个选项的被他选中概率分别为p1p2p3p4,其中p1≥0,p2≥0,p3≥...
  • 1. (20分)6.2 写一个判断素数的函数,在主函数中输出1~100间的素数信息输入描述无输出描述输出1~100之间所有的素数,中间用空格隔开输入样例无输出样例2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 ...
  • int Setbit(int* A,int RowSize){int i = 0;int Sum = 0;for(i = 0;i < RowSize;i++)if(A[i] == 0)Sum ^= 1<return Sum;}//Setbit;bool Readbit(int S,int i,int RowSize){return S&( 1 <...
  • WCB某天买了非常多的糖果并把它们分成N份,依次分别有1,2,3…,N个糖果。他想拿出其中的3份分给他的室友, 为了不让室友们闹意见,必须让这三份的糖果总数恰好能被三人均分。请问他一共有多少种不同的组合方案数?...
  • 题目描述已知某位学生的数学、英语和计算机课程的成绩,求该生三门课程的平均分。输入输入三个整数,数据之间由空格隔开。输出输出占一行,包含一个实数,为三门课的平均分,保留两位小数。样例输入87 73 93样例输出...
  • ,以下符合C语言语法的赋值表达式是 (C ) 。 A.a 9+b+c a+9 B.a 9+b;c a+9; C.a (9+b,b++) D.a 9+b++ a+7 9.若有以下定义,若int m 7,n 12,则能得到值为3的表达式是 (D ) 。 A.n% (m% 5) B.n% (m-m%5) C.n%...
  • c语言 山科大OJ关注:252答案:2手机版解决时间 2021-02-05 03:05提问者更无风月2021-02-04 05:44DescriptionLCS stands for longest common subsequence, and it is a well known problem. A sequence in this ...
  • 题:原文网址:... 输入:先输入一个数N,后每组2个(代表x,y)输入N组数。(1)(-100,y)输入0结束。 输出:A,B使得Ax+By!=0,且Ax+By>0的数目与Ax+By的数目相同(-500,B) 如: ... }
  • 华南农业大学C语言oj第六章

    千次阅读 2019-03-01 23:38:30
    18052插入数据 时间限制:1000MS 内存限制:65535K 提交次数:0 通过次数:0 题型: 填空题语言: GCC Description 已经有一个按升序排列的数组,编写程序输入一个整数x,把x插入到数组中,使数组仍然保持升序。...
  • 华南农业大学C语言oj第五章

    千次阅读 2019-03-01 23:32:22
    18046字母分类统计 时间限制:1000MS 内存限制:65535K 提交次数:0 通过次数:0 题型: 编程题语言: G++;GCC;VC Description ...输入一行以换行符结束的字符,统计并输出其中英文字母、数字、空格和其它字符的个数。...
  • 华南农业大学C语言oj第八章

    千次阅读 2019-03-02 00:15:09
    18058一年的第几天 时间限制:1000MS 内存限制:65535K 提交次数:0 通过次数:0 题型: 填空题语言: G++;GCC;VC Description ...定义一个结构体类型表示日期类型(包括年、月、日)。程序中定义一个日期类型的变量,输入...
  • 华南农业大学C语言oj第七章

    千次阅读 2019-03-01 23:48:55
    18065所有数字之和 时间限制:1000MS 内存限制:65535K 提交次数:0 通过次数:0 题型: 填空题语言: G++;GCC;VC Description 编写一个函数,计算一个整数的所有数字之和 #include"stdio.h"......
  • c语言之重点(一)c语言一、闰年二、素数三、最大公约数四、一元二次方程五、存款利息六、大小写字母转换七、求三角形面积八、录入字符串并打印输出九、三个数排序十、大小写字母转换十一、switch的key值可以使用...
  • C语言 OJ 5个数求最值

    千次阅读 2018-02-07 10:18:49
    问题 G: 5个数求最值 时间限制: 1 Sec 内存限制: 128 MB 提交: 189 解决: 148 [提交][状态][讨论版][命题人:uzzoj] ...设计一个从5个整数中取最小数和最大数的程序 ...输出两个数,第一个为这五个数中的最小值...
  • 题目描述 现在给你N个数(0 输入 第一行给出整数M(0 每组测试数据第一行给你N,代表该组测试数据的数量。 接下来的N个数为要测试的数据,每个数小于1000 输出 ...21 22 23 24 25 26 27
  • C语言OJ项目参考(2000)数组逆序

    千次阅读 2016-11-29 21:44:14
    Description 输入10个整数存入一维数组,按逆序重新存放后再输出。 Input 输入包括一行。10个以空格隔开的整数。 Output ...提示:在OJ平台中,将有一个格式错误可能会让你崩溃。友情提示:输出的

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,526
精华内容 1,010
关键字:

c语言oj

c语言 订阅