oj刷题-C语言版

慈云数据 6个月前 (05-30) 技术支持 51 0

1. A + B

题目

输入两个整数,求这两个整数的和是多少。

oj刷题-C语言版
(图片来源网络,侵删)

输入格式

输入两个整数A,B

oj刷题-C语言版
(图片来源网络,侵删)

,用空格隔开

输出格式

输出一个整数,表示这两个数的和

数据范围

0≤A,B≤108

样例输入:
3 4
样例输出:
7

AC代码C:

#include 
int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d\n",a+b);
    return 0;
}

2.栈

题目

栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。

栈有两种最重要的操作,即 pop(从栈顶弹出一个元素)和 push(将一个元素进栈)。

栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。

宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问题,而他自己无法给出答案,所以需要你的帮忙。

宁宁考虑的是这样一个问题:一个操作数序列,从 1,2,一直到 n,栈 的深度大于 n。

现在可以进行两种操作,

将一个数,从操作数序列的头端移到栈的头端(对应数据结构栈的 push

操作)。将一个数,从栈的头端移到输出序列的尾端(对应数据结构栈的 pop

操作)。使用这两种操作,由一个操作数序列就可以得到一系列的输出序列。

你的程序将对给定的 n,计算并输出由操作数序列 1,2,…,n经过操作可能得到的输出序列的总数。

输入格式
输入文件只含一个整数 n
。
输出格式
输出文件只有一行,即可能输出序列的总数目。
数据范围
1≤n≤18
输入样例:
3
输出样例:
5

AC代码C:

3.大小写翻转

AC代码C:

#include //包含头文件stdio.h
#include //包含头文件string.h
int main() //程序从这里开始执行
{
 char a[100]; //定义一个字符数组a,长度为100
 int i=0; //定义整型变量i并初始化为0
 gets(a); //输入字符串,并存储在a数组中
 while(a[i]!='\0') //循环语句,判断a数组中第i个元素是否为'\0'(即是否到了字符串结尾)
 {
  if(a[i]>='a'&&a[i]
   a[i]=a[i]-32; //将其转换为对应的大写字母
  }else if(a[i]='A'&&a[i]
   a[i]=a[i]+32; //将其转换为对应的小写字母
  }
  i++; //i自增1
 }
 puts(a); //输出转换后的字符串
 getchar(); //等待用户输入任何字符后结束程序
 return 0; //程序正常结束
}

    for (int i = 2; i * i 
        if (x % i == 0) return 1; // 如果x能被i整除,说明x不是素数,返回1
    }
    return 0; // 否则返回0,表示x是素数
}
int main()
{
    int a, b;
    while (scanf("%d%d", &a, &b) != EOF) // 读入多组数据,直到读取到文件结尾
    {
        int count = 0; // 统计[a,b]中的素数个数
        for (int i = a; i 
            if (hanshu1(i)) count++; // 如果i是素数,计数器加1
        }
        printf("%d\n", count); // 输出素数个数
    }
    return 0;
}

    if (x 
    int a;
    while (scanf("%d", &a)&&a) // 循环读入多组数据
        printf("%d\n", hanshu(a)); // 对每组数据进行相同的操作,输出斐波那契数列的第n项
    return 0;
}

    int n;
    scanf("%d",&n);
    int i,j;
    for(i=2;i
        for(j=2;j*j
    int a,t=1;
    scanf("%d",&a);
    for(int i = 1;i
    int p,r,m,n,temp;
    printf("请输入两个正整数m,n:");
    scanf("%d%d",&m,&n);
if(n
    temp=n;
    n=m;
    m=temp;
}
p=n*m;
while(m!=0)
{
    r=n%m;
    n=m;
    m=r;
}
printf("最大公布数:%d\n",n);
printf("最小公倍数:%d\n",p/n);
}

    char cc;
    int a=0,b=0,c=0,d=0;
    printf("请输入一行字符:");
    while((cc=getchar())!='\n')
    {
        if(cc='a'&&cc
            a++;
        }
        else if(cc == ' ')
        {
            b++;
        }
        else if(cc='0'&&c
            c++;
        }
        else
        {
            d++;
        }
    }
    printf("英文字母数目是:%d\n 空格数目:%d\n 数字数目:%d\n 其他字符数量:%d\n",a,b,c,d);
    return 0;
}

    int n;
    double a,sum,totle_sum;
    printf("输入a的值以及n的值");
    scanf("%lf %d",&a,&n);
    for(int i=0;i
        sum+=a*pow(10,i);
        totle_sum+=sum;
    }
    printf("总和是:%lf\n",totle_sum);
}

    double sum=0;
    for(int i=0;i
        double single_sum = 1;
        for(int j = i;j0;j--)
        {
            single_sum*=j;
        }
        sum+=single_sum;
    }
    printf("阶乘和为:%lf\n",sum);
}

    double sum=0,sum1=0,sum2=0,sum3=0;
    for(int k=1;k
        sum1+=k;
        if(k
            sum2+=k*k;
        }
        if(k
            sum3+=1.0/k;
        }
    }
    sum=sum1+sum2+sum3;
    printf("三种情况求和结果:%lf\n",sum);
}

int a,b,c;
for(int i=100;i
    a=i/100;
    b=(i/10)%10;
    c=i%10;
    if(a*a*a+b*b*b+c*c*c==i)
{
    printf("%d\n",i);
}
}
}

    int a,factor,sum;
    for(a=2;a
        sum =1;
        for(factor=2;factor
            if(a%factor==0)
            {
                sum+=factor;
            }
        }
        if(sum==a)
        {
            printf("%d因子是:1,",a);
            for(factor=2;factor
                if(a%factor==0)
                {
                    printf("%d,",factor);
                }
            }
            printf("\n");
        }
    }
}

    double a=2,b=1,sum=0;
    double temp;
    int count;
    scanf("%d",&count);
    for(int i=0;i
        sum+=a/b;
        temp=a;
        a=a+b;
        b=temp;
    }
    printf("前%d项之和:%lf\n",count,sum);
}

    double a=100;
    double sum=0;
    for(int i=0;i
        sum+=a;
        a=a/2;
        sum+=a;
    }
    sum=sum-a;
    printf("小球供经历%lf米,第10次反弹%lf米\n",sum,a);
    return 0;
}

    int day=9;
    int day_count;
    int count=1;
    while(day0)
    {
        day_count=(count+1)*2;
        count = day_count;
        day--;
    }
    printf("total count:%d\n",count);
    return 0;
}

	int num;
	int shuzu[10]={1,2,3,4,5,6,7,8,9,10};
	printf("请输入一个整数:");
	scanf("%d",&num);
	printf("%d\n",num);
int end=9;
while(end=0&&num
	shuzu[end+1]=shuzu[end];
	end--;
}
shuzu[end+1]=num;
for(int i=0;i
	printf("%d\n",shuzu[i]);
}
printf("\n");
}
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon