1. c语言 输出英文字符在26个英文字母中的序号
x-'a'+1
//
其中x表示输入的小写字母,用x的ascii码减去‘a’的ascii码再加1,就是字母x在26个英文字母中对应的序号
2. c语言:输入一个1到26的序号,输出其对应的小写字母
思路:因为小写字母的ASCII码是连续的,所以可以直接输出'a'+n-1,表示第n个字母。
参考代码:
#include<stdio.h>
#include<string.h>
intmain()
{
intn;
scanf("%d",&n);
printf("%d:%c ",n,'a'+n-1);
return0;
}
/*
运行结果:
4:d
*/
3. C语言、如何把A-Z转换成1-26输入一个字母 输出一个数字。
很高兴回答你的问题。
在C语言中使用ACSII表示字母的,A-Z的ASCII码是顺序的,也就是B比A大一,C比B大一。这样的话Z-A=25。所以需要表示的时候就是想要转换的字母减去A,再加一。比如输入了B:
char x=‘B’;
int i='B'-'A‘+1;
这样i的值就是2,输出就可以了。
希望对你有帮助。
4. 1到25的数字,如何通过C语言实现随机排列
首先不管是不是通过编译。
做到随即排列,需要用到随机数产生函数。
#include <stdio.h>
#include <time.h>
main()
{
int i;
int cp1[10];
clrscr();
srand((unsigned)time(NULL)); /*随机数发生器,时间作为种子 */
for(i=0;i<10;i++)
{
cp1[i]=rand()%100+1;/*rand产生的随机数字*/
}
textcolor(12);
for(i=0;i<10;i++)
{
printf("\n");
cprintf("%d",cp1[i]);
}
getch();
}
以上是打印1到100的随机数字。
你说的要随机排列25个数字。
必须要产生25个随机数字。处理方法有很多,可以采用让随机数产生为1~25的数字,但是要保证每个数字不一样。不能有重复,这个可以通过比较来完成。然后可以一一对应输出,或者直接输出产生的随机数也可以。另外一种方法是允许有重复,但是必须给每个数字1~25和产生的25个随机数字进行一一对应编号,然后首先按照随机数对应的输出,如果遇到相同的随机数,就随机数先后顺序排下来对应输出。方法有很多,自己可以思考一下。
5. C语言 求助。在线等 输入一个字母(大小写均可),输出以这个字母为起始的26个字母
#include<stdio.h>
main()
{chara;
inti,b;
while(1){
scanf("%c",&a);
getchar();
for(i=0;i<26;i++){
b=a+i;
if((a>='a'&&a<='z'&&b>'z')||(a>='A'&&a<='Z'&&b>'Z'))
b=b-26;
printf("%c",b);
}
printf("
");
}
}
如图所示,望采纳。。。。。。
6. c语言 问题:输入一个 1 ~ 26 数字,输入n,则打印出n行。按照如下图显示
你好:
#include <stdio.h>
void main()
{
int n;
int i;
int j;
printf("Please input number:\n"); /*输入的提示信息*/
scanf("%d", &n);
for (i = 0; i < n; i++) /*行数*/
{
for (j = 0; j < (2 * i + 1); j++) /*每行的字母数*/
printf("%c", 'A' + i); /*每行的字母*/
printf("\n");
}
}
7. C语言如何输入一个整数或一个26进制数字符串
int main(){
int a;
scanf("%p",&a);//16进制数输入%p是输入一个十六进制的数scanf("%llx",&a);也可以输入十六进制并且比较正规
printf("%d",a);//十进制输出%d是输出一个十进制的数
printf("0x%x",a);//16进制输出printf("%llX\n",a);也可输出一个十六进制数如果红色部分大写X则输出十六进制为大写字母否则小写x输出为小写字母
}