c语言编程

从键盘输入某同学的英文名(小写输入,假设学生的英文名只包含3个字母。如: tom),编写程序在屏幕上输出该同学的英文名,且首字母大写(如: Tom)。同时输出组成该英文名的所有英文字符在26个英文字母中的序号。
以下为程序的输出示例:
input your English name:
tom↙
Tom
t:20
o:15
m:13

输入格式:

"%c%c%c"

输出格式:

输入提示信息:"input your English name:\n"
首字母大写的英文姓名的输出格式:"%c%c%c\n"
姓名中每个字母在26个英文字母中的序号的输出格式:"%c:%d\n"

看代码:

#include <stdio.h>

int main()
{
printf("input your English name:\n");
char name[3];
scanf ("%c%c%c", &name[0], &name[1], &name[2]);

char upper = name[0] - 32; // 名字 第一个字母变为大写
printf("%c%c%c\n", upper, name[1], name[2]);

int i;
for (i = 0; i < 3; i++)
{
printf("%c:%d\n", name[i], name[i]-'0'-48);
}

return 0;
}

编译运行:

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-09-13
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int Acsll(char b);

main(){
int i=0,j;
char a=' ',b[20];
printf("Input your English name:\n");
while(a!='\n'){
a=getchar();
b[i]=a;
i++;
}

for(j=0;j<i-1;j++){
if(j==0){
putchar(b[j]-32);
continue;
}
putchar(b[j]);
}
printf("\n");
for(j=0;j<i-1;j++)
printf("%c:%d\n",b[j],Acsll(b[j]));

system("pause");
}

int Acsll(char b){
return b-'a'+1;
}

第2个回答  2018-03-11
#include<stdio.h>
#include<ctype.h>
int main(void)
{
    char a,b,c,d,s='A';
    int i,j=0,k=0;
    printf("input your English name:\n");
    scanf("%c%c%c",&a,&b,&c);
d=toupper(a);
printf("%c%c%c\n",d,b,c);
    for(i=0;i<26;i++)
    {
        if(s+i==a||s+i+32==a)
{
        printf("%c:%d\n",a,i+1);
j=1;
i=0;
}
if(j)
{
    if(s+i==b||s+i+32==b)
{
        printf("%c:%d\n",b,i+1);
k=1;
i=0;
}
if(k)
{
if(s+i==c||s+i+32==c)
{
        printf("%c:%d\n",c,i+1);
break;
}
}

}

    }
    return 0; 
}

相似回答