C语言几段代码

更新时间:2023-06-11 13:07:53 阅读: 评论:0

整数大魔镜
形成英语
试题描述
由键盘上输入1个三位正整数n。魔镜把三个数字的排列次序打乱重新组合一个新的三位正整数,使其值最大。请你帮助魔镜输出该值。
输入
输入一个正整数n,且100 <= n <= 999。
甲醛甲酚输出
按照题目要求输出。
输入示例
296
输出示例
962
数据范围
对于100%的数据,100 <= n <= 999
#include<stdio.h>
int main()
{
int a,b,c,d,e,h;
scanf("%d",&d);
if(d>=100&&d<999)
{
a=d/100;
b=(d-100*a)/10;
c=d-100*a-10*b;
if(b>a)
{
e=b;
b=a;
a=e;
{
if(c>=a)
烤米饭
h=(100*c)+(10*a)+b;
el if(c<=b)
h=(a*100)+(b*10)+c;
el  h=(a*100)+(c*10)+b;
}
printf("%d",h);
};
}
判断两个数是否相邻
试题描述
由键盘上输入两个不相等的整数,请判断是否相邻,是输出“TRUE”,否则输出“FALSE”。
输入
输入两个整数,用一个空格隔开。且保证整数属于int范围。
输出
根据题意输出“TRUE”或“FALSE”(不输出引号)。
输入示例1
34 35
输出示例1
TRUE
输入示例2
36 35
输出示例2
TRUE
输入示例3
-
4 35
输出示例3
FALSE
数据范围
输入为int范围的整数
#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
if(a-1==b||a+1==b)
printf("TRUE");
el
printf("FALSE");
}
判断三位水仙花
试题描述
三位水仙花数是指一个三位数,它的每个位上的数字的3次幂之和等于它本身。(例如:13 + 53 + 33 = 153)。由键盘上输入一个三位正整数,请你判断其是否为三位水仙花数。是输出“TRUE”,否则输出“FALSE”。
输入
输入一个正整数n,且100 <= n <= 999。
输出
根据题意输出“TRUE”或“FALSE”(不输出引号)。
输入示例1
296
输出示例1
FALSE
米兰昆德拉名言输入示例2
153
输出示例2
TRUE
数据范围
对于100%的数据,100 <= n <= 999
#include<stdio.h>
int main()
{
int n,a,b,c;
scanf("%d",&n);
if(100<=n&&n<=999)
{
a=n/100;
b=(n-100*a)/10;
c=n-100*a-b*10;
if(n==a*a*a+b*b*b+c*c*c)
printf("TRUE\n");
el
printf("FALSE\n");
}
}
石头、剪刀、布
试题描述
甲乙两人玩石头、剪刀、布的游戏,在键盘上输入用一个空格隔开的两个字符(S代表“石头”、J代表“剪刀”、B代表“布”),请你判断输赢。若甲赢了则输出“FIRST”,若乙赢了输出“SECOND”,若平了则输出“DEUCE”。
输入
输入两个字符,用一个空格隔开。且保证字符为S、J或B。
输出
根据题意输出“FIRST”、“SE
COND”或“DEUCE”(不输出引号)。
输入示例1
S B
输出示例1
SECOND
输入示例2
B B
输出示例2
DEUCE
#include<stdio.h>
int main()
{
char a,b,S,J,B;
scanf("%c %c",&a,&b);
if(a=='S')
{
if(b=='S') printf("DEUCE");
el if(b=='J') printf("FIRST");
el if(b=='B')printf("SECOND");
}
el if(a=='J')
{
if(b=='S') printf("SECOND");
el if(b=='J') printf("DEUCE");
el if(b=='B')printf("FIRST");
}
el if(a=='B')
{
if(b=='S') printf("FIRST");
el if(b=='J') printf("SECOND");
el if(b=='B')printf("DEUCE");
}
}
分数统计
试题描述
输入N个学生的英语分数,哪个分数出现的次数最多?如果有多个并列,从小到大输出。分数均为不超过100的非负整数。
输入
输入包含两行:
第一行是一个整数N(0 < N <= 300)。
第二行是N个非负整数,分别表示N个学生分数,两个相邻的整数之间用一个空格隔开。
输出
输出出现次数最多的分数。如有多个,用空格隔开,并从小到大输出。
输入示例
6
10 20 30 40 20 10
输出示例
10 20
数据范围
对于100%的数据,0 < N <= 300,0 <= 分数 <= 100
#include<stdio.h>
int main()
{
int i,j[300],a[300],n,k,max,l[300],da,m=0,q;
scanf("%d",&n);
for(i=0;i<n;i++)/*输入*/
scanf("%d",&a[i]);
for(i=0;i<n;i++)/*找出每个位置有多少相同的元素*/
{ j[i]=0;
for(k=0;k<n;k++)
{
if(a[k]==a[i])
j[i]=j[i]+1;
}
}
max=j[0];
for(i=1;i<n;i++)/*每个元素的个数找出最大值*/
{
if(j[i]>=max)
max=j[i];
}
for(i=0;i<n;i++)/*如果等于最大个数,标记位置*/
{
if( j[i]==max)
{m=m+1; }}
k=0;q=0;
while(k<m)
{
for(i=q;i<n;i++)
{
if( j[i]==max)
{
l[k]=a[i];
k=k+1;
q=i;
}
}
for(i=0;i<m-1;i++)/*比较另一数组的大小*/
for(k=0;k<m-i-1;k++)
{
if(l[k]>l[k+1])
{
da=l[k];
l[k]=l[k+1];
l[k+1]=da;
}
}
for(i=0;i<m;i++)
{
if(l[i+1]==l[i])
continue;
printf("%d",l[i]);
printf(" ");
}
喝醉的狱卒
试题描述
在一所监狱里有一条长长的走廊,沿着走廊排列着n个牢房,编号为1到n。每个牢房有一个囚犯,而且牢房的门都是锁着的。
一天晚上,狱卒很无聊,于是他就玩起了一个人的游戏。第一轮,他喝了一口威士忌,然后沿着走廊,将所有牢房的门打开。第二轮,他又喝了一口威士忌,然后又沿着走廊,将所有编号为2的倍数的牢房锁上。第三轮,他再喝一口威士忌,再沿着走廊,视察所有编号为3的倍数的牢房,如果牢房是锁着的,他就把它打开;如果牢房是开着的,他就把它锁上。他如此玩了n轮后,喝
下最后一口威士忌,醉倒了。
当他醉倒后,一些犯人发现他们的牢房开着而且狱卒已经无能为力,他们立刻逃跑了。
给出牢房的数目n,请你确认最多有可能有多少犯人逃出了监狱?
输入
输入一个正整数n(0 < n < 1000)。表示狱卒喝了多少轮酒。
输出
输出一个正整数m,表示能够逃跑的人数。
输入示例
5
输出示例
2
数据范围
对于100%的数据,0 < n < 1000
#include<stdio.h>
int main()墨鱼怎么处理
{
int a[1000],i,j,n,m=0;
scanf("%d",&n);
for(i=0;i<n;i++)
a[i]=0;
for(j=1;j<=n;j++)
{
for(i=j-1;i<n;i=i+j)
a[i]=a[i]+1;
}
for(i=0;i<n;i++)
if(a[i]%2!=0) m=m+1;
printf("%d",m);
}
允许并列的排名
试题描述
在我们参加的各种竞赛中,允许并列的排名方式是经常遇到的。例如有四名选手的成绩分别为50、80、50、30分,则80分的选手为第一名,50分的两名选手均为第二名,30分的选手为第三名。
请编写一个程序,计算一个选手在这种排名方式之下的名次(分数高的选手排前面)。
输入
输入包含三行:
第一行为一个整数N,表示参赛的选手数,1 <= N <= 100。
第二行为N个整数,表示每位选手的成绩(邻近两数之间用一个空格隔开)。
第三行为一个整数m,表示要查询名次的选手的成绩。
输出
输出一个整数,表示该选手的名次。
输入示例
4
50 80 50 30
50
输出示例
2
数据范围
对于100%的数据,1 <= N <= 100
#include<stdio.h>
int main()
{
int a[100],i,k,n,da,m;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&m);
for(i=0;i<n-1;i++)/*比较另一数组的大小*/
for(k=0;k<n-i-1;k++)
{
if(a[k]<a[k+1])
{
da=a[k];
a[k]=a[k+1];
a[k+1]=da;
}
}
k=0;
for(i=0;i<n-1;i++)
{
聊天的英语if(a[i+1]==a[i])
continue;
k=k+1;
if(a[i]==m)break;睡不够
}
printf("%d",k);
}
绝对值排序
试题描述
排序我们都做过,但是都是针对所有数值的大小,但是,如果我们把排序的条件改成以绝对值为排序的条件呢?
请你对给定的数据按照绝对值的大小进行从大到小的排序(输入数据已经保证没有绝对值相等的两个数)。
输入
输入包含二行:
第一行包括一个正整数n(0 < n < 100)。
第二行有n个整数(范围不超过int),且两两之间用一个空格隔开。
输出
输出n行,每个整数占一行。
输入示例
3
3 -4 2
输出示例
-4
3
2
数据范围
对于100%的数据,0 < n < 100
#include<stdio.h>
#include<math.h>
void main()
{
int i,a[100],n,j,l,t,x;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
t=abs(a[j]);
x=abs(a[j+1]);
if(t<x)
{
l=a[j];
a[j]=a[j+1];
a[j+1]=l;
}
}
}
for(j=0;j<n;j++)
printf("%d\n",a[j]);
杨子扬}

本文发布于:2023-06-11 13:07:53,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/929728.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:牢房   输入   输出   整数   表示   选手   示例
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图