91密码翻译
题目描述
在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则可得到一个简单的加密字符串。
输入
输入一行,包含一个字符串,长度小于80个字符。
输出
输出每行字符串的加密字符串。
#include<stdio.h>
int main()
{char a[10001];
int i;
gets(a);
int l=strlen(a);
for(i=0;i<l;i++)
{
if(a[i]=='z')a[i]='a';
else if(a[i]=='Z')a[i]='A';
else if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))
a[i]=a[i]+1;
}
puts(a);
return 0;
}
34: 整数数列求和(2)
题目描述
编写程序,计算:m=1-2+3-4+····+(-)n。
输入一个正整数n(<1000)。
输出对应的m。
样例输入
10
样例输出
-5
#include<stdio.h>
int main()
{int m,i,n,k=1;
scanf("%d",&n);
m=0;
i=1;
while(i<=n)
{m=m+i*k;
i++;
k=-k;
}
printf("%d\n",m);
return 0;
}
72逆序输出
题目描述
从键盘输入10个整数存放在数组中,再逆序显示这10个数。
输入
从键盘输入10个整数。
输出
逆序显示这10个数。数据间以空格间隔,但最后一个数据后面没有空格,直接换行。
样例输入
6 7 9 0 -6 16 18 -90 19 10
样例输出
10 19 -90 18 16 -6 0 9 7 6
#include <stdio.h>
int main()
{
int i,a[10];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=9;i>=0;i--)
{
printf("%d ",a[i]);
}
return 0;
}
题目描述
有一个长度为n数组,需要将数组中从指定位置m开始的k个元素倒放在原来的数组中。
输入
第一行输入n,m,k (1<=n<=50)。
第二行输入数组中的n个数。
m代表元素的实际位置而不是在数组中的下标值。
输出
输出倒置后的数组。
样例输入
13 3 11
1 2 3 4 5 6 7 8 9 10 11 12 13
样例输出
1 2 13 12 11 10 9 8 7 6 5 4 3
#include<stdio.h>
int main()
{
int n,m,k,i,a[15],b[15],j;
scanf("%d %d %d",&n,&m,&k);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
j=i;
b[j]=a[i];
}
j=2;
while(j<=(m+n-2))
{
b[j]=a[m+n-2-j];
j++;
}
for(i=0;i<n;i++)
{
printf("%d ",b[i]);
}
return 0;
}
题目描述
有一个长度为n数组,需要将数组中从指定位置m开始的k个元素倒放在原来的数组中。
输入
第一行输入n,m,k (1<=n<=50)。
第二行输入数组中的n个数。
m代表元素的实际位置而不是在数组中的下标值。
输出
输出倒置后的数组。
样例输入
13 3 11
1 2 3 4 5 6 7 8 9 10 11 12 13
样例输出
1 2 13 12 11 10 9 8 7 6 5 4 3
#include<stdio.h>
int main()
{
int n,m,k,i,a[15],b[15],j;
scanf("%d %d %d",&n,&m,&k);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
j=i;
b[j]=a[i];
}
j=2;
while(j<=(m+n-2))
{
b[j]=a[m+n-2-j];
j++;
}
for(i=0;i<n;i++)
{
printf("%d ",b[i]);
}
return 0;
}
75统计单词个数
题目描述
擎天柱最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里单词的总数。下面你的任务是帮助擎天柱解决这个问题。
输入
输入一行字符表示一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到字符结束符时表示输入结束,文章最多由1000个字符组成。
输出
输出一个整数,代表一篇文章里单词的总数。
样例输入
you are my friend
样例输出
4
#include <stdio.h>
int main()
{
char s[200];
int i,n=0,flag=1;
gets(s);
for(i = 0; s[i]; i ++)
{
if(flag == 1)
{
if(s[i] != ' ')
{
n++;
flag = 0;//借助flag实现,不是空格情况只能进入一次加1 操作,再次出现空格会让flag再变回1,再次进行加1操作。
}
}
else if(s[i] == ' ')
flag = 1;
}
printf("%d\n", n);
return 0;
}
76平均分(3)
题目描述
输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计不及格同学的个数。
输入
输入一个正整数n表示学生的个数,再输入n个学生的成绩。
输出
输出分两行。
第一行输出平均分(保留1位小数)。
第二行输出不及格同学的个数。不及格人数为0时也要输出。
样例输入
3
90 90 50
样例输出
76.7
1
#include<stdio.h>
int main()
{ double y,sum=0;
int p=0,i=0,n,a;
scanf("%d",&n);
while(i<n)
{ scanf("%d",&a);
sum=sum+a;
i++;
if(a<60)p++;
}
y=sum/n;
printf("%.1f\n",y);
printf("%d\n",p);
return 0;
}
题目描述
已知有10个同学的成绩,求最高分和最低分以及相应分数所在的位置。从键盘输入10个整数存放在数组中,假设这10个数互不相同,且无序排列。请找出其中最大数及它在数组中的下标,以及最小数和下标。
输入
从键盘输入10个整数。
输出
找出其中最大数及它在数组中的下标,以及最小数和下标。各占一行。
样例输入
60 70 90 50 65 76 88 95 91 80
样例输出
95 7
50 3
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[10],i,j,max=0;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
{
if(max<=a[i])
{
max=a[i];
j=i;
}
}
printf("%d %d\n",max,j);
j=0;
int min=a[0];
for(i=0;i<10;i++)
{
if(min>=a[i])
{
min=a[i];
j=i;
}
}
printf("%d %d",min,j);
}
70排列问题
题目描述
期末考试结束了,陈老师找到集训队的同学,希望帮忙开发一个成绩排序的系统。这个应该难不倒集训队员的,先做一个内部小测试吧。随意输入10个学生的成绩,按从高到低的序列显示。
输入
输入10个学生的成绩
输出
输出从高到低的排序结果。
样例输入
90 80 70 60 50 91 72 18 2 0
样例输出
91 90 80 72 70 60 50 18 2 0
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[10],b[10],max=0,s,i,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(max<=a[j])
{
max=a[j];
s=j;
}
}
b[i]=max;
max=0;
a[s]=0;
}
for(i=0;i<10;i++)
printf("%d ",b[i]);
printf("\n");
}
289871843
于 2021-12-30 22:30:29 首次发布