当前位置:首页 » 编程语言 » c语言把二十六个字母变成圆环
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言把二十六个字母变成圆环

发布时间: 2022-11-04 04:30:18

① 用c语言循环语句输出26个大写及小写字母

可以参考下面的代码:

#include<stdio.h>

int main()

{

char A ='A';

char a='a';

int i;

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

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

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

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

return 0;

}

(1)c语言把二十六个字母变成圆环扩展阅读:

在C语言中,有三种类型的循环语句:for语句、while语句和do While语句。

for表达式

表达式1:一般为赋值表达式,给控制变量赋初值

表达式2:关系表达式或逻辑表达式,循环控制条件

表达式3:一般为赋值表达式,给控制变量增量或减量

语句:循环体,当有多条语句时,必须使用复合语句

for语句格式为:

for(表达式1;表达式2;表达式3)语句:/*循环体*/

② c语言,从键盘任意输入一个大写英文字母,求出它在26个英文字母表中的位置。和其后面的第四个字母

#include<stdio.h>
#include<stdlib.h>
void main()
{
char a[50];
printf("请输入一个大写字母:\n");
scanf("%s",a);
while(a[0]<'A'||a[0]>'Z'||a[1]!='\0')
{
printf("只能输入一个大写字母,请重新输入:\n");
scanf("%s",a);
}
printf("%c为字母表中第%d个字母!\n",a[0],int(a[0]-'A'+1));
printf("%c后面四个字母分别为%c\t%c\t%c\t%c\n:",char(a[0]),char(a[0]+1),char(a[0]+2),char(a[0]+3),char(a[0]+4));
system("pause");
}

③ c语言 如何把N个数字1到N,首尾相连成一个圆圈的形式输出

#include<stdio.h>

voidloopout(intN)

{

if(N>=1)

{

inti=1;

if(i==1)

{

for(i;i<N;i++)

printf("%d",i);

}

if(i==N)

{

for(i;i>1;i--)

printf("%d",i);

}

loopout(N);

}

}

voidmain()

{

intn=0;

scanf("%d",&n);

loopout(n);

}

比如输入5,结果如下图。按你的要求必须要做成了死循环

④ C语言怎么将二十六个字母首尾相连形成环状

C语言中 char型用的是ASCII码 也就是用整数来表是字母 65表示‘A’ 66表示‘B’ 以此类推 90表示‘Z’

c语言中的输出函数 printf("%d",'A') 输出的是 字母A的整数编码 65
printf("%c",65); 按照字符格式 输出的是 大写字母A
你想print("%c",'A'+25) 就是输出大写字母Z
C语言区分大小写 小写字母'a' 的AScII码是 97 'a'+25 就是 ‘z’ 122

⑤ 写一个C语言代码 “假设将26个小写字母首尾连接起来,做成一个圈,将输入字符串顺时针移动10位后输出”

#include "stdio.h"
void main()
{
char str[5];
int i,k;
printf("请输入一个小写字符串:");
for(i=0;i<5;i++)
scanf("%c",&str[i]);
for(i=0;i<5;i++)
{k=(int) (str[i]);
if(k<=112)
k=k+10;
else
k=k-15;
printf("%c",k);
}
}
如果你想输入别的长度的字符串,自己改一下数组长度就可以了。

⑥ C语言,求助:26个字母围成一个圈,输入其中一位,要求输出他后三位的字母,如输入a,输出d,输入y,输出b

#include<stdio.h>

int main()
{
char c;
scanf("%c",&c);
printf("%c",(c+3)%'a'%26+'a');
return 0;
}

⑦ c语言 把26个字母连成一个圈

用 %26对26求余
很简单的,自己编吧
#include<stdio.h>
main()
{
char a[] = "i like c programming language!";
int i;
for(i=0; i<=29; i++){
a[i]=(a[i]-'a'+10)%26+'a';
}
printf("%s", a);
return 0;
}
试试吧,数的不错的话

⑧ c语言圆环找数

在原程序上改掉语法错误如下(但功能还是不对的):

#include<stdio.h>
#include<stdlib.h>//要使用动态分配内存malloc

intmain()
{
inti,j,m,n,k,b,z,x,c;
int*a;
int*s;
scanf("%d",&n);
if(n>50||n<4)
return0;
else
{
a=(int*)malloc(sizeof(int)*n);//动态分配内存
s=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);//加取地址符号&
}
for(j=0;j<n;j++)
{
for(k=0;k<n;k++)//k在j循环中,这样写每次s数组都全部赋值一遍
{
if(j>=0&&j<n-3)//改为0到n-4
s[k]=a[j]+a[j+1]+a[j+2]+a[j+3];
if(j==n-3)//=要改为==,a只能是a[0]到a[n-1],改为n-3
s[k]=a[j]+a[j+1]+a[j+2]+a[0];
if(j==n-2)//=要改为==,a只能是a[0]到a[n-1],改为n-2
s[k]=a[j]+a[j+1]+a[1]+a[0];
if(j==n-1)//=要改为==,a只能是a[0]到a[n-1],改为n-1
s[k]=a[j]+a[2]+a[1]+a[0];
}
}
for(x=0;x<n;x++)//j在这个循环中不变化,而且排序需要二重循环,这样不能起到排序作用
{
if(s[j]>s[j+1])
{
b=s[j];
s[j]=s[j+1];
s[j+1]=b;
}
}
for(z=0;z<n;z++)
printf("%d ",s[z]);
free(a);//释放内存
free(s);
}
return0;
}

从新写了个,功能也对的:

#include<stdio.h>
#include<stdlib.h>

intmain()
{
inti,j,n,temp;
int*a;
int*s;
scanf("%d",&n);
if(n>50||n<4)
return0;
else
{
a=(int*)malloc(sizeof(int)*n);
s=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
if(i==n-3)
s[i]=a[i]+a[i+1]+a[i+2]+a[0];
elseif(i==n-2)
s[i]=a[i]+a[i+1]+a[1]+a[0];
elseif(i==n-1)
s[i]=a[i]+a[2]+a[1]+a[0];
else
s[i]=a[i]+a[i+1]+a[i+2]+a[i+3];
for(j=0;j<i;j++)//排序,在i循环下
{
if(s[j]>s[i])
{
temp=s[j];
s[j]=s[i];
s[i]=temp;
}
}
}
for(i=0;i<n;i++)
printf("%d ",s[i]);
free(a);
free(s);
}
return0;
}

如果只是按照题目的要求的话,只要求出最大和值k,还不需要排序,那么可以更简单:

#include<stdio.h>
#include<stdlib.h>

intmain()
{
inti,j,n,temp,k;
int*a;
scanf("%d",&n);
if(n>50||n<4)
return0;
else
{
a=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}

temp=a[3]+a[2]+a[1]+a[0];
k=a[3]+a[2]+a[1]+a[0];//相当于i=0时的和作为初值
for(i=1;i<n;i++)
{
if(i==n-3)
temp=a[i]+a[i+1]+a[i+2]+a[0];
elseif(i==n-2)
temp=a[i]+a[i+1]+a[1]+a[0];
elseif(i==n-1)
temp=a[i]+a[2]+a[1]+a[0];
else
temp=a[i]+a[i+1]+a[i+2]+a[i+3];

if(temp>k)//只保留大的和值
k=temp;
}
printf("%d ",k);//只输出最大和值k
free(a);
}
return0;
}

⑨ 请教C语言

我来说一下我的思路哈:
#include<stdio.h>
#define KEY 3
char * decode(char a[]){
int i,j=-1;
int len=strlen(a);
char *b;
b=(char *)malloc(len*sizeof(char));
for(i=0;i<len;i++){
j=(KEY+j)%len;
b[j]=a[i];
}
b[i]='\0';
return b;
}
void main(){
char a[]="12345";
char *b;
b=decode(a);
printf("%s",b);
}
不知道,我是否正确的理解了你的意思及符合你的要求,有什么问题,可以与我联系.
QQ:316508111

⑩ C语言 建立链表把26个字母存进去并

#include<stdio.h>
#include<stdlib.h>

typedef struct yhzdy{
char date;
struct yhzdy *next;
}lb;

int main(){
int i, m;
lb *p, *head;

m=sizeof(lb);
head=(lb *)malloc(m);
head->date='a';
head->next=NULL;

for(i=1;i<26;i++){
p=(lb*)malloc(m);
p->date='a'+i;
p->next=head;
head=p;
}

p=head;
for(;p!=NULL;){
printf("%c ",p->date);
p=p->next;
}
printf("\r\n");
return 0;
}