求c语言高手啊!~~

1、给出一个百分制成绩,要求输出成绩等级‘A’,’B’,’C’,’D’,’E’。90分以上为‘A’,81-89分为’B’,70-79分为’C’,60-69分为’D’,60... 1、给出一个百分制成绩,要求输出成绩等级‘A’,’B’,’C’,’D’,’E’。90分以上为‘A’, 81-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’。
2.给出一个不多于5位的正整数,要求:
(1)求出它是几位数;
(2)分别打印出每位数字的英文单词;
(3)按逆序打印出各位数字。
3. 译密码:循环使用大小写字母,每个字母用其后第四个字母代替,如A-》E,B-》F,……,W-》A。小写也一样
例如 Hello,world!
译成密码:Lipps,asvph!
4、编写程序,定义一个含有15个元素的数组,并编写函数完成以下操作。
(1)给所有元素赋以0-15之间的随机数;
(2)输出数组元素中的值;
(3)按顺序对每隔三个数求一个和,并传回主函数;
(4)输出所有求出的和值。
展开
 我来答
415355800
2012-04-21 · TA获得超过106个赞
知道答主
回答量:73
采纳率:0%
帮助的人:77.7万
展开全部
# include <stdio.h>
# include <time.h>
# include <stdlib.h>

char ResultJudge(void);
void JudgeString(void);
void code(char a[]);
int * random(void);

int * s = (int *)malloc(sizeof(int)*5);
int main(void)
{

char a;
a=ResultJudge();
printf("%c\n", a);

JudgeString();

char b[100] = "Hello,World";
code(b);

int * c = random();
printf("\n");

for(int i = 0; i < 5; i++)
{
printf("%d ", c[i]);
}

return 0;
}

char ResultJudge(void)
{
int x;
printf("请输入学生成绩:");
scanf("%d", &x);

char a;
if(x>=90)
{
a = 'A';
}
else if(x>=81&&x<90)
{
a = 'B';
}
else if(x>=70&&x<80)
{
a = 'C';
}
else if(x>=60&&x<70)
{
a = 'D';
}
else if(x>=0&&x<60)
{
a = 'E';
}
else
{
printf("请输入0到100之间的数值\n");
}

printf("\n");
return a;
}

void JudgeString(void)
{
printf("进入判断数值部分,请输入一个数值\n");
int len,x;
scanf("%d", &x);
char a[5];
if(x>=0&&x<9)
len = 1;
else if(x>=10&&x<99)
len = 2;
else if(x>=100&&x<999)
len = 3;
else if(x>=1000&&x<9999)
len = 4;
else if(x>=10000&&x<99999)
len = 5;
else
printf("请输入5位数以内的数值\n");

printf("该数值为%d位数\n", len);

switch (len)
{

case 5:
a[4]=x%10;x=x/10;
case 4:
a[3]=x%10;x=x/10;
case 3:
a[2]=x%10;x=x/10;
case 2:
a[1]=x%10;x=x/10;
case 1:
a[0]=x%10;

}

for(int i = 0; i < len; i++)
{
if(9 == a[i])
printf("nine ");
else if(8 == a[i])
printf("eight ");
else if(7 == a[i])
printf("seven ");
else if(6 == a[i])
printf("six ");
else if(5 == a[i])
printf("five ");
else if(4 == a[i])
printf("four ");
else if(3 == a[i])
printf("three ");
else if(2 == a[i])
printf("two ");
else if(1 == a[i])
printf("one ");
else if(0 == a[i])
printf("zero ");
else
printf("出错了~!\n");
}
printf("\n");

for(int j = len-1; j > -1; j--)
{
printf("%d ", a[j]);
}
return;
}

void code(char a[])
{
printf("\n进入密码编译部分\n");
int i = 0;
int len;
while(a[i] != '\0')
{
i++;
}
len = i+1;

for(int j = 0; j < len; j++)
{
if(a[j]>= 'A' && a[j]<='Z')
{
a[j] = ((a[j]-65+4)%26)+65;
}
else if(a[j]>= 'a' && a[j]<='z')
{
a[j] = ((a[j]-97+4)%26)+97;
}
}
printf("%s", a);

return;
}

int * random(void)
{
printf("\n进入随机数部分\n");
int c[15];
srand(time(0));
for(int i = 0; i < 15; i++)
{
c[i] = rand()%15;
}
for(int j = 0; j < 15; j++)
{
printf("%d ", c[j]);
}
printf("\n");
for(int k = 0,int q = 0; k < 15; k++)
{
if(k != 15&& k%3 == 0)
{
s[q] = c[k]+c[k+1]+c[k+2];
q++;
}
}

return s;
}
/*
你最后两个要求有点矛盾了,每三个数求一次和,并且返回主函数,每三个数的话就需要循环了,但是又不能在循环中return,所以我折中了一下,用了一个全局变量保存你需要的每三个数求和,其他都是按你要求的
*/
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式