oj刷题-C语言版
温馨提示:这篇文章已超过404天没有更新,请注意相关的内容是否还可用!
1. A + B
题目
输入两个整数,求这两个整数的和是多少。
(图片来源网络,侵删)
输入格式
输入两个整数A,B
,用空格隔开
输出格式
输出一个整数,表示这两个数的和
数据范围
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进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
