當前位置:首頁 » 編程語言 » 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;
}