C语言 密码翻译 数据统计 字符交叉

1有一行电文,已按下面规律译成密码:A->Za->zB->Yb->yC->Xc->x……即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不... 1
有一行电文,已按下面规律译成密码:
A->Z a->z
B->Y b->y
C->X c->x
……
即第1个字母变成第26个字母, 第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程将密码译回原文。
Input
输入一行电文。(电文字符数不超过100个字符,其中包含空格,电文以换行结束)
Output
输出译码后的原文,占一行。
Sample Input
R zn z hgfwvmg.
Sample Output
I am a student.

2
有一个班n个学生,5门课程。1)、输入n个学生的学号和5门课的成绩;2)、求5门课程的平均分;3)、找出有两门以上课程不及格的学生,输出他们的学号、全部课程成绩;4)、找出全部课程成绩在85分或85分以上的学生的学号。(第1个要求在主函数中实现, 第2个要求在void avg_score(int (*pscore)[5],int n)函数中实现; 第3个要求在void stu_fail(string *pnum,int (*p)[5],int n) 函数中实现; 第4个要求在void stu_good(string *pnum,int (*p)[5],int n) 函数中实现;)
Input
输入学生人数(不超过200人)
按学号、5门课成绩(成绩均为整数)顺序输入n个学生信息,每位学生的信息占一行。
Output
5门课程的平均分,占一行。
输出两门以上(包括两门)课程不及格的学生的学号、全部课程成绩,每位学生的信息占一行。
输出全部课程成绩在85分或85分以上学生的学号。
满足以上要求的学生若找不到,则不输出。
Sample Input
4
1001 10 20 30 40 50
1002 90 80 90 70 60
1003 85 89 90 89 88
1004 40 50 60 80 70
Sample Output
56.25 59.75 67.5 69.75 67
1001 10 20 30 40 50
1004 40 50 60 80 70
1003

3
将字符串交叉插入到另一个字符串中。如:“abcde”和“ABCDEFG”;插入后变成“aAbBcCdDeEFG”。
(要求使用指针变量访问字符串中的字符)
Input
输入一行字符串(字符个数不超过500);
再输入一行字符串(字符个数不超过500)。
Output
输出交叉后的字符串。
Sample Input
ABCDE
highkdsd
Sample Output
AhBiCgDhEkdsd
展开
 我来答
qwsfws
2009-06-22 · TA获得超过276个赞
知道小有建树答主
回答量:227
采纳率:0%
帮助的人:235万
展开全部
下午睡醒了觉觉再帮你做哇,简单喃,
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int zhimu(char a)
{if((a>='a'&&a<='z')||(a>='A'&&a<='Z'))
return 1;
else return 0;
}
int daxi(char a)
{if(a>='A'&&a<='Z')
return 1;
else
return 0;
}

int xiaoxi(char a)
{if(a>='a'&&a<='z')
return 1;
else
return 0;
}

main()
{
char a[100];
int i,b[]={-25,-23,-21,-19,-17,-15,-13,-11,-9,-7,-5,-3,-1,1,3,5,7,9,11,13,15,17,19,21,23,25};
gets(a);
for(i=0;a[i]!='\0';i++)
{if(zhimu(a[i])&&daxi(a[i]))
a[i]=a[i]-b[a[i]-'A'];
if(zhimu(a[i])&&xiaoxi(a[i]))
a[i]=a[i]-b[a[i]-'a'];
}
printf("结果是:%s",a);
system("pause");}

002
#include "stdio.h"
#include "stdlib.h"
struct stu
{int xuehao;
int one;
int two;
int three;
int four;
int five;
}a[200];

void avg_score(struct stu a[],int n)
{int i;
float a1=0,a2=0,a3=0,a4=0,a5=0;
for(i=0;i<n;i++)
{ a1=a1+a[i].one;
a2=a2+a[i].two;
a3=a3+a[i].three;
a4=a4+a[i].four;
a5=a5+a[i].five;
}
printf("%.2f %.2f %.2f %.2f %.2f\n",a1/n,a2/n,a3/n,a4/n,a5/n);
}

void stu_fail(struct stu a[],int n)
{int i,z;
for(i=0;i<n;i++)
{z=0;
if(a[i].one<60)
z++;
if(a[i].two<60)
z++;
if(a[i].three<60)
z++;
if(a[i].four<60)
z++;
if(a[i].five<60)
z++;
if(z>=2)
printf("%d %d %d %d %d %d\n",a[i].xuehao,a[i].one,a[i].two,a[i].three,a[i].four,a[i].five);
}
}

void stu_good(struct stu a[],int n)
{int i,z;
for(i=0;i<n;i++)
{z=0;
if(a[i].one>=85)
z++;
if(a[i].two>=85)
z++;
if(a[i].three>=85)
z++;
if(a[i].four>=85)
z++;
if(a[i].five>=85)
z++;
if(z==5)
printf("%d\n",a[i].xuehao);
}
}

main()
{int i,n;
printf("请输入学生人数:\n");
scanf("%d\n",&n);
for(i=0;i<n;i++)
scanf("%d %d %d %d %d %d\n",&a[i].xuehao,&a[i].one,&a[i].two,&a[i].three,&a[i].four,&a[i].five);
printf("输入结束\n");system("pause");
avg_score (a,n);
stu_fail(a, n) ;
stu_good(a, n) ;
system("pause");}

003
#include "stdio.h"
#include "stdlib.h"
#include "string.h"

main()
{
char a[500],b[500],c[1000];
int i,j,k,z;
gets(a);
gets(b);
i=strlen(a);
j=strlen(b);
for(k=0,z=0;k<i&&k<j;k++)
{c[z]=a[k];z++;
c[z]=b[k];
z++;}
if(k<i)
while(k<i)
{c[z]=a[k];z++;k++;}
if(k<j)
while(k<j)
{c[z]=b[k];z++;k++;}
c[z]='\0';
printf("结果是:%s",c);
system("pause");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式