① 用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;
}