求好心人用c语言实现输出26个英文字母

求好心人用c语言实现输出26个英文字母,第1张

下面的程序用不同的代码输出两次,你可以选择其中一种。
#include<stdioh>
#define P(a,b) printf("%c%c",a,b)
void main()
{
for(int i=0;'a'+i<'z';i+=2)
P('A'+i,'a'+i+1);
char a='A'-2;
while((char)(a+=2)<'Z')
P(a,a+33);
}

所有英文字符,包括大写和小写英文字符。

在ASCII码表中,大写和小写英文字符分别连续存储。

所以只需要分别遍历所有英文字符,并输出字符值,及对应ASCII码值即可。

代码:

int main()
{
    char c;
    for(c = 'A'; c<='Z'; c ++)
        printf("%c:%d\n",c,c);
    for(c = 'a'; c<='z'; c ++)
        printf("%c:%d\n",c,c);
}

c语言中字符串的输出可以用puts(字符数组名),或者用printf("%s",字符数组名)
代码:
main()

printf("hello");
getch();

这段代码是直接在屏幕上输出。

我这里有一个类似的程序,楼主的程序写起来有点大,仅供参考,当然如果不闲麻烦,可以用swich的case 语句结合来写,而我认为数的判定方式有多种,在这里,对于整数部分我们可以用将数值“三位为一组”来进行分!
如:678为第一组,前面加上 thousand
345为第二组,前面加上 million
依次为 billion
对于每组中的三个数分别含 百位 十位 个位
而小数点后面的则可以不用分位数,直接接对应的数!
下面是类似程序:

#include<stdioh>
void main()
{
char Eng1[20]={"zero","one","two","three","four","five","six","seven",
"eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen",
"sixteen","seventeen","eighteen","nineteen"};
char Eng2[8]={"twenty","thirty","fourty","fifty","sixty","seventy","eighty","ninety"};
int num;
printf("请输入数字: ");
scanf("%d",&num);
printf("对应的英文为: ");
if(num>=0&&num<=19)
printf("%s\n",Eng1[num]);
else if(num<100)
{
int s,y;
s=num/10;
y=num%10;
printf("%s %s\n",Eng2[s-2],Eng1[y]);
}
else if(num<1000)
{
int b,s,y;
b=num/100;
y=num%100;
if(y>9)
{
s=(num%100)/10;
y=(num%100)%10;
if(y==0)
printf("%s hundred and %s\n",Eng1[b],Eng2[s-2]);
else
printf("%s hundred and %s %s\n",Eng1[b],Eng2[s-2],Eng1[y]);
}
else
printf("%s hundred and %s\n",Eng1[b],Eng1[y]);
}
}

#include<stdioh>

int main(void)

{

char x ='A';

for(int i= 0;i<26;i++)

{

printf("%c",x+i);

if((i+1)%10 == 0)

printf("\n");

}

return 0;

}

#include"stdioh"
#include"stdlibh"
#include"stringh"
int main()
{
int i,j;
int length=0;
int pass[15];
char input[15];
char output[5][150];
char word[26];//指针数组,相当于work[26][]
word[0]=" \n \n \n \n ";//a字母的组成,放在word[0][]数组中
word[1]=" \n \n \n \n ";//b
/





/
word[25]=" \n \n \n \n ";//z
while(1)//无限循环
{
printf("在此输入单词: ");
scanf("%s",&input);
length=strlen(input);
printf("\n\n");
for(i=0;i<length;i++)
{
switch(input[i])
{case 'a':
case 'A':
{
pass[i]=0;
break;
}
case 'b':
case 'B':
{
pass[i]=1;
break;
}
/





/
case 'z':
case 'Z':
{
pass[i]=25;
break;
}
default: break;
}//switch循环结束,功能是把字母以数字形式存放在pass数组中
}//for循环结束,while循环还未结束。

for(i=0;i<length;i++)
{
for(j=0;j<11;j++)
{
output[0][i11+j]=word[pass[i]][j];//第一行中的
output[1][i11+j]=word[pass[i]][12+j];//第二行中的
output[2][i11+j]=word[pass[i]][24+j];
output[3][i11+j]=word[pass[i]][36+j];
output[4][i11+j]=word[pass[i]][48+j];//共5行
}/把字母的 一行一行的赋给output数组,所以output中存放的只有和空格
注意:
一个字母的输出方块是510,后面跟个空格位置所以是511,
但是word数组中最后还有\n,所以每行12字符,但是j<11规定
只把前面11个字符赋给output数组/
}
for(i=0;i<5;i++)
{
for(j=0;j<length11;j++)
{
printf("%c",output[i][j]);
}//以形式打印字母串
printf("\n");
}
printf("\n\n");
system("pause");//命令行上输出一行类似于“Press any key to exit”的字,等待用户按一个键,然后返回
system("cls");//清屏
}}

代码如下:


#include <stdioh>
#include <stdlibh>
int main(int argc, char args[])
{
char sentence[1024];

printf("sentence: ");
gets(sentence);
char p = sentence;
bool isWord = false;
while (p != '\0') {

char ch = p;
if (ch > 'A' && ch <= 'Z' ||
ch >= 'a' && ch <= 'z') {

if (!isWord) {

if (ch >= 'a' && ch <= 'z')
ch -= 32;
printf("%c", ch);
isWord = true;
}
}
else {
isWord = false;
}
p++;
}
printf("\n");

system("pause");
return 0;
}

运行结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12902709.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存