C语言实验参考答案-详细版-安徽大学

更新时间:2024-07-01 21:44:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1

C语言实验参考答案

实验一

5、输入并运行自已编写的程序(教材第一章P14 三 编程题)。 实验二

1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。

#include main() {float x,y,z,s,t,a; printf(“x,y,z=”);

scanf(“%f,%f,%f”,&x,&y,&z); s=x+y+z; t=x*y*z; a=s/3;

printf(“s=%f,t=%f,a=%f\\n”,s,t,a); }

2、编程。要求用户输入两个整数a、b(分别为20、10), 读取用户从键盘输入的值,然后:

1)用整数输出这两个数的和、差;

2)用长整型输出这两个数的积,用float输出商; 3)用整数输出这两个数的余数,用float输出平均值。 #include

2

main()

{int a,b,he,cha,yu; long ji; float shang,aver; printf(“a,b=”);

scanf(“%d,%d”,&a,&b); he=a+b; cha=a-b; ji=(long)a*b; shang=1.0*a/b; yu=a%b; aver=(a+b)/2.0;

printf(“a+b=%d,a-b=%d,a*b=%ld\\n”,he,cha,ji); printf(“a/b=%f,a%%b=%d,aver=%f\\n”,shang,yu,aver); }

3. 再次运行程序第2题中的程序,使整数a、b的值分别为10、20,分析程序运行结果,并给出说明。

程序同上。 实验三

1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。例如,输入整数5,程序运行后输出字符5。

#include

3

main() {int a; char c; printf(“a=”); scanf(“%d”,&a); c=a+48; putchar(c); }

2、编程。输入半径,计算球体表面积(S?4??r)和球体积 (

V?4??r33)。

2#include #define PI 3.1415926 main() {float r,s,v; printf(“r=”); scanf(“%f”,&r); s=4*PI*r*r; v=4/3.0*PI*r*r*r; printf(“s=%f,v=%f\\n”,s,v); }

3、编写一个程序,要求通过键盘给6个变量赋值,然后将变量的值在屏幕上打印输出。这六个变量的值分别为:10,-10,40000,

4

a,3.14,hello。

#include main() {int a,b; long c; char d,ch[6]; float e;

scanf(“%d%d%ld%c%f%s”,&a,&b,&c,&d,&e,ch); printf(“%d,%d,%ld,%c,%f,%s\\n”,a,b,c,d,e,ch); } 实验四

1. 编程实现:键盘输入三个整数,分别存放到变量a,b,c中,输出其中的最小值(要求不改变a、b、c的值)。

#include main() {int a,b,c,min;

printf(\请输入三个整数a,b,c=\scanf (\min=a>b?(b>c?c:b):(a>c?c:a); printf(\}

2. 编程实现:键盘输入一个字符,如是大写字母,则输出相应小

5

写字母;如是小写字母,则输出相应大写字母;其它字符原样输出。

#include main() {char c;

printf(\请输入一个字符:\scanf (\if(c>='a'&&c<='z')c=c-32; else if(c>='A'&&c<='Z')c=c+32; printf(\}

3、计算以下分段函数值

#include main() {double x,y;

printf(\请输入一个实数:\scanf (\

if(x<0&&x!=-3)y=x*x+x-6;

else if(x>=0&&x<10&&x!=2&&x!=3)y=x*x-5*x+6; else y=x*x-x-1;

6

printf(\}

4. 编写程序,键盘接收一个字符串(只含大、小写英文字母),将该字符串加密后输出。加密规则为:若为小写字母则不变,若为大写字母则将其转换为小写后再后移一个字母,例如“A”应转换为“b”,“B”应转换为“c”,“Y”应转换为“z”,而“Z”应转换为“a”。

#include main() {char c[20]; int i;

printf(\请输入一个字符串(只含英文字母):\gets (c);

for(i=0;c[i]!=?\\0?;i++)

if(c[i]>= ?A?&&c[i]<= ?Y?)c[i]=c[i]+33; else if(c[i]==?Z?)c[i]=?a?; puts(c); putchar(?\\n?); }

5. 编写程序,用scanf输入任意两个数给变量a、b,若a大于等于b,则直接输出a、b,否则将a、b的值交换(即a的原值放入b中,b的原值放入a中)后再输出。

#include

7

main() {float a,b,t;

printf(\请输入两个数:\scanf (\if(a

6. 编写程序:由系统生成一个10以内的随机整数,用户从键盘上输入一个10以内的整数,如果两者相等输出“OK”,否则输出“ERROR”。

#include #include #include main() {int a,b;

srand( (unsigned)time(NULL)); b=rand()+1;

printf(\请输入一个10以内的整数:\scanf(\

printf(\随机数b=%d\\n\if(a==b) printf(\else printf(\

8

}

7. 编写程序要求输入整数a和b,若a2+ b2大于100,则输出a2+ b2百位以上的数字,否则输出两数之和。(此题为选做)

#include main() {int a,b,t;

printf(\请输入两个整数a,b=\scanf (\t= a*a+b*b; if(t<=100)

printf(\else

{t=t/100;

printf (\百位以上的数字是%d\\n\} } 实验五

1. 编程,计算函数y的值,已知函数y与自变量x的关系为:

#include main()

9

{float x,y;

printf(“请输入一个非负数x=”); scanf(“%f”,&x);

if(x>=0&&x<100)y=3*x+10; else if(x>=100)y=x*x*x-20; if(x>=0)printf(“y=%f\\n”,y); else printf(“输入错误!\\n”); }

2. 编写一个简单的计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

#include main() {char op; float d1,d2;

printf(\请输入算式(如3+5):\scanf(\switch(op)

{case '+': printf(\ case '-': printf(\ case '*': printf(\×%g=%g\\n\ case '/': printf(\÷%g=%g\\n\

10

} }

2. 编程实现:输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一:

①能同时被3,5,7整除

②能被其中两数(要指出是哪两个数)整除 ③能被其中一个数(要指出是哪一个数)整除 ④不能被3,5,7任一个数整除 #include main() {int n;

printf(\请输入一个整数n=\scanf(\

if(n%3==0&&n%5==0&&n%7==0)

printf(\能被3,5,7整除\\n\

else if(n%3==0&&n%5==0)printf(\能被3,5整除\\n\else if(n%3==0&&n%7==0)printf(\能被3,7整除\\n\else if(n%5==0&&n%7==0)printf(\能被5,7整除\\n\else if(n%3==0)printf(\能被3整除\\n\else if(n%5==0)printf(\能被5整除\\n\else if(n%7==0)printf(\能被7整除\\n\else printf(\不能被3,5,7任一个整除\\n\

11

}

4. 已知从2008年12月开始,银行整存整取存款不同期限的年利率分别为:三个月 1.71%,半年 1.98%,一年 2.25%,两年 2.79%,三年 3.33%,五年 3.60%。编写程序,要求输入存钱的本金和期限,求出到期时能从银行得到的利息与本金的合计数。

#include main() {char c; float x,y;

printf(\请输入存款本金x=\scanf(\do

{getchar(); /*接受回车符*/ clrscr(); /*清屏*/ printf(\存款期限:\\n\

printf(\三个月(年利率1.71%%)\\n\printf(\半年(年利率1.98%%)\\n\printf(\一年(年利率2.52%%)\\n\printf(\两年(年利率2.79%%)\\n\printf(\三年(年利率3.33%%)\\n\printf(\五年(年利率3.60%%)\\n\printf(\请输入存款期限(a,b,c,d,e,f):\

12

scanf(\}

while(!(c>='a'&&c<='f')); printf(\元存期\x=x/100; switch(c)

{case 'a':y=x*(100+1.71/4); printf(\三个月\ case 'b': y=x*(100+1.98/2); printf(\半年\ case 'c': y=x*(100+2.25); printf(\一年\ case 'd': y=x*(100+2.79*2); printf(\两年\ case 'e': y=x*(100+3.33*3); printf(\三年\ case 'f': y=x*(100+3.6*5); printf(\五年\ }

printf(\到期的本息合计为%f元\\n\}

5. 设函数

(1)用条件表达式求函数值y。

(2)用if 语句编程,输入x,输出y,并给出你所使用的测试用例。

解(1)用条件表达式求函数值y。

13

#include main() {float x; int y;

printf(\请输入x=\scanf (\y=(x>=0)?(x>0?1:0):-1; printf(\}

解(2)用if 语句编程,输入#include main() {float x; int y;

printf(\请输入x=\scanf (\if(x>=0) if(x>0)y=1; else y=0; else y=-1; printf(\}

x,输出y。 14

6. 编写程序:键盘上输入一个不多于5位的正整数,要求:①求它是几位数②逆序打印出各位数字。如原数为123,应输出321。(此题为选做)

#include #include main()

{long n,m,p,w1=0,w2=0,w3=0,w4=0,w5=0,t=0; printf(\请输入一个非负整数(n<100000)n=\scanf(\if((n/10000)!=0)m=5; else if(n/1000!=0)m=4; else if(n/100!=0)m=3; else if(n/10!=0)m=2; else m=1; switch(m)

{case 5:p=n/10000;w1=p;n-=p*10000;t+=w1*pow(10,m-5); case 4:p=n/1000;w2=p;n-=p*1000;t+=w2*pow(10,m-4); case 3:p=n/100;w3=p;n-=p*100;t+=w3*pow(10,m-3); case 2:p=n/10;w4=p;n-=p*10;t+=w4*pow(10,m-2); case 1:p=n;w5=p;t+=w5*pow(10,m-1); }

printf(\输入的是%ld位数,逆序数为%ld\\n\

15

} 实验六

1、编程:输出200以内所有能被7整除的数。 #include main() {int i;

for(i=0;i<=200;i+=7) printf(“M”,i); }

2、从键盘输入n个数(n<10),找出其中最小值,请编写相应程序。 #include main() {int n,i,a,min; printf(“n=”); scanf(“%d”,&n); for(i=1;i<=n;i++) {scanf(“%d”,&a); if(i==1)min=a; if(min>a)min=a; }

printf(“min=%d”,min);

}

16

3、键盘输入正整数m和n(m

#include main()

{int m,n,i,x1=0,x2=0; printf(“input m,n(m

printf(“x1(奇数之和)=%d,x2(偶数之和)=%d\\n”,x1,x2); }

4.编程,计算函数y的值。要求键盘接收自变量x的值,若x 的值不为零,则计算函数y的值并输出,再从键盘接收下一个x的值,……,直到x的值为零,则显示“Thank You,Bye!”,尔后结束程序,已知函数y与自变量x的关系为:

#include main() {float x=1,y;

17

do

{if(x<0) printf(\输入错误(x<0)!请重新输入\\n\printf(\请输入x=\scanf(\

if(x>0&&x<100)y=3*x+10; if(x>=100)y=x*x*x-20; if(x>0)printf(\}

while(x!=0);

printf(\,Bye!\\n\}

5.编写程序:有一分数序列:2/1,求出这个数列的前20项之和。

#include main() {int i;

float f1=1,f2=2,f,s=0; for(i=1;i<=20;i++) {f=f2/f1;s+=f; f=f1;f1=f2;f2=f+f2; }

printf(\

3/2,5/3,8/5,13/8,21/13...18

}

6.我国现有人口13亿,设年增长率为1%,编写程序,计算多少年后增加到20亿。

#include main() {float p=13; int n=0; do

{p=p*1.01; n++; }

while(p<20.);

printf(\年后人口增加到20亿!\\n\}

7.求解爱因斯坦数学题。有一条长阶梯,若每步跨2阶,则最后剩余1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7阶,最后才正好一阶不剩。请问,这条阶梯共有多少阶?

#include main() { int n=7; do

19

{if(n%2!=1){n++;continue;} if(n%3!=2) {n++;continue;} if(n%5!=4) {n++;continue;} if(n%6!=5) {n++;continue;} if(n%7!=0) {n++;continue;} break; } while(1);

printf(\这条阶梯共有%d阶!\\n\}

(说明:该题应有多解:119,329,??)

8.每个苹果0.8 元,第一天买2 个苹果,第二天开始,每天买前一天的2 倍,直至购买的苹果个数达到不超过100 的最大值。编写程序求每天平均花多少钱?(此题为选做)

#include main() {float s=0; int n=1,p=0,d=0; do

{ d++; /*第d天*/

n=n*2; /*买n 个苹果*/ p=p+n; /*共p 个苹果*/

20

}

while(p+n*2<=100); s=p*0.8/d;

printf(\每天平均花%g元钱!\\n\}

9.编写程序,求一个整数任意次方的最后三位数。即求xy的最后三位数,要求x,y 从键盘输入。(注意xy的结果是否会溢出)。(此题为选做)

#include #include main() {double x,y,m; int m3;

printf(\请输入x,y=\scanf(\m=pow(x,y); m3=(int)m00;

printf(\的y次方为%g,其最后三位数是%0.3d\\n\} 实验七

1. 编写程序,从键盘输入6 名学生的5 门成绩,分别统计出每个学生的平均成绩。

21

#include main() {int a,b,s; float v;

for(a=1;a<=6;a++) {v=0;

for(b=1;b<=5;b++)

{printf(\请输入第%d名学生的第%d门成绩:\ scanf(\ v=v+s; }

printf(\第%d名学生的平均成绩为:%g\\n\} }

2、打印出所有的\水仙花数\,所谓的\水仙花数\是指一个3位数,其各位数字的立方和等于该数本身。例如,153是一个\水仙花数\,因为有153=1*1*1+5*5*5+3*3*3 。

解(1)

#include main() {int a,b,c,n; for(a=1;a<=9;a++)

22

for(b=0;b<=9;b++) for(c=0;c<=9;c++) {n=100*a+10*b+c; if(n==a*a*a+b*b*b+c*c*c) printf(“%d\\n”,n); } } 解(2)

#include main() {int a,b,c,n;

for(n=100;n<=999;n++) {a=n/100; b=n0/10; c=n;

if(n==a*a*a+b*b*b+c*c*c) printf(“%d\\n”,n); } }

3、请分别用三种循环结构编程计算:键盘输入。

解(1)

,n的值由 1!+2!+3!+...+n!23

#include main() {int n,i; long p=1,sum=0; printf(“n=”); scanf(“%d”,&n); for(i=1;i<=n;i++) {p*=i; sum+=p;

}

printf(“1!+2!+…+%d!=%ld\\n”,n,sum); } 解(2)

#include main() {int n,i=1; long p=1,sum=0; printf(“n=”); scanf(“%d”,&n); while(i<=n) {p*=i; sum+=p;

24

i++;

}

printf(“1!+2!+…+%d!=%ld\\n”,n,sum); } 解(3)

#include main() {int n,i=1; long p=1,sum=0; printf(“n=”); scanf(“%d”,&n); do {p*=i; sum+=p; i++;

} while(i<=n);

printf(“1!+2!+…+%d!=%ld\\n”,n,sum); }

4. 用循环语句编写程序,其功能是计算: s=1+12+123+1234+12345+123456+1234567 #include

25

main() {long i,t=0,s=0; for(i=1;i<=7;i++) {t=10*t+i;

/*printf(\ s=s+t; }

printf(\}

5. 编写程序,输出下列形式的杨辉三角形的前10行。(此题为选做) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 ……

#include main()

{int i,j,a[10]={1,1};

printf(\ for(i=2;i<10;i++)

26

{a[i]=1;

for(j=i-1;j>=1;j--)a[j]+=a[j-1]; for(j=0;j<=i;j++) printf(\ printf(\} getch(); } 实验八

1、打印输出由1,2,3,4四个数字组成的4位数,并统计它的个数(允许该4位数中有相同的数字,例如:1111,1122,,1212等).。

#include main()

{int n,a,b,c,d,num=0; for(a=1;a<=4;a++) for(b=1;b<=4;b++) for(c=1;c<=4;c++) for(d=1;d<=4;d++)

{n=1000*a+100*b+10*c+d; printf(“]”,n); num++;

}

27

printf(“\\nnum=%d\\n”,num); }

2、从键盘输入10个正整数进行求和,如果错误地输入了负数,则求和结束。请分别用break和不用break编写相应程序。

解(1) 用break编写程序 #include main() {int i,n,sum=0; for(i=1;i<=10;i++) {scanf(“%d”,&n); if(n>=0)sum+=n;

else break; }

printf(“sum=%d”,sum); }

解(2) 不用break编写程序 #include main()

{int i=1,n=0,sum=0; while(i<=10&&n>=0) {scanf(“%d”,&n); if(n>=0)

28

sum+=n; i++; }

printf(“sum=%d”,sum); }

3. 勾股定理为:a2+b2=c2,编写程序,输出30以内满足上述关系的整数组合,例如3,4,5就是一个整数组合。

#include main() {int a,b,c,n; for(a=1;a<=30;a++) for(b=a;b<=30;b++) for(c=a;c<=30;c++) {if(c*c==a*a+b*b)

printf(\ } }

4. 计算并输出500以内最大的10个素数之和。 #include main()

{int a,b,s=0,n=0; for(a=500;a>=2;a--)

29

{for(b=2;b<=a-1;b++) if(a%b==0)break;

if(b==a){n++;s=s+a;printf(\ \ if(n==10) break; }

printf(\}

5. 请验证2000以内的哥德巴赫猜想,对于任何大于4的偶数均可以分解为两个素数之和。

#include main() {int n,m,a,b;

for(n=6;n<=2000;n+=2) for(m=3;m

{for(b=2;b

{ printf(\

}

30

} }

6. 编写程序:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5(此题为选做)

#include main() {int n,m,k=1;

printf(\请输入一个正整数n=\scanf(\printf(\for(m=2;m<=n;m++) if(n%m==0)

{if(k==1) printf(\else printf(\k++; n=n/m; m--; continue; } } printf(\}

31

7. 编写程序,求一个正整数的位数(提示:关系表达式的值可以参与算术运算)。(此题为选做)

#include main()

{long a,n=0,m=1;

printf(\请输入一个正整数a=\ scanf(\do

{if(a/m!=0){n++;m=m*10;} else break; } while(1);

printf(\正整数%ld的位数是:%ld\\n\} 实验九

1、求一个3×3的整数矩阵的副对角线上所有奇数的和sum2。 #include main()

{int a[3][3],sum2=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++)

{scanf(“%d”,&a[i][j]);

32

if(i+j==2&&a[i][j]%2)

sum2+=a[i][j]; }

printf(“sum2=%d”,sum2); }

2、输入一个正整数n(1

⑴ 输出这些数的平均值(保留2位小数)。 ⑵ 把这些数逆序后再输出。

⑶ 输出它们中的最大值及其下标(设最大值唯一,下标从0开始)。

⑷ 将它们中的最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。

#include main()

{int a[10],n,min,max,xb0,xb1,i,sum,t; float aver; printf(\scanf(\for(i=0;i

33

max=a[0];xb1=0; sum=a[0]; for(i=1;i

{if(min>a[i]){min=a[i];xb0=i;}; if(max

aver=1.0*sum/n;

printf(\平均值为:%3.2f\\n\printf(\逆序输出:\

for(i=0;i

printf(\最大值为:%d,其下标为:%d\\n\t=a[0];a[0]=a[xb0];a[xb0]=t; for(i=0;i

t=a[n-1];a[n-1]=a[xb1];a[xb1]=t; printf(\经交换后输出:\for(i=0;i

34

printf(\}

3. 定义一个含有30个整型元素的数组a,按顺序分别赋予从2开始的偶数;然后按顺序每5个数求出一个平均值,放在另一个数组b中存储,输出数组b中6个元素的值。

#include main() {int a[30],i,j;

float b[6]={0,0,0,0,0,0}; for(i=0;i<30;i++)a[i]=(i+1)*2; for(i=0;i<6;i++) {for(j=0;j<5;j++)

b[i]+=a[i*5+j];

b[i]=b[i]/5.;

printf(\ } }

4. 通过循环按行顺序为一个5×5的二维数组a赋1到25的自然数,然后输出该数组的左下半角元素的值。

#include main() {int a[5][5],i,j;

35

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

for(j=0;j<5;j++)a[i][j]=i*5+j+1; for(i=0;i<5;i++)

{for(j=0;j<=i;j++) printf(\ printf(\} }

5. 从键盘输入两个字符串a和b,要求不使用库函数strcat,把串b的前5个字符连接到串a中;如果b中的长度小于5,则把b的所有元素都连接到a中。

#include main()

{char a[20],b[20]; int i,j; gets(a); gets(b);

for(i=0;a[i]!='\\0';i++); for(j=0;b[j]!='\\0'&&j<5;j++)

a[i+j]=b[j]; a[i+j]='\\0'; puts(a); }

36

6. 定义两个N行N列的二维数组a、b,编写程序,将a数组最后一行放到b数组的第0列中,把a数组中的第0行放到b数组的最后一列中,b所指二维数组中其他元素的数据不变。

#include main()

{int i,j ,a[3][3]={1,2,3,4,5,6,7,8,9}; int b[3][3]={11,12,13,14,15,16,17,18,19}; printf(\变换前数组a,b:\\n\

for(i=0;i<3;i++){for(j=0;j<3;j++)printf(\ printf(\

}

printf(\

for(i=0;i<3;i++){for(j=0;j<3;j++)printf(\ printf(\

}

for(i=0;i<3;i++) {b[i][0]=a[2][i]; b[i][2]=a[0][i]; }

printf(\变换后数组a,b:\\n\

for(i=0;i<3;i++){for(j=0;j<3;j++)printf(\

printf(\

37

}

printf(\

for(i=0;i<3;i++){for(j=0;j<3;j++)printf(\

printf(\}

}

7. 一个整型数组有10个元素,编写程序删除所有值为n的元素。要求①主函数完成n的输入,数组元素的输入以及进行删除后数组元素的输出。②子函数完成删除功能。(此题为选做)

#include main()

{int a[10],i,n,k=0,j;

printf(\请输入10个整数:\\n\for(i=0;i<10;i++) scanf(\

printf(\请输入1个要被删除的整数:\\n\scanf(\for(i=0;i<10;i++)

if(a[i]==n){for(j=i;j<9;j++)

a[j]=a[j+1];

i--;k++;continue;

}

38

printf(\删除后数组的输出:\\n\for(i=0;i<10-k;i++) printf(\ \printf(\}

8. 试编程实现如下功能:先定义一个4行5列的数组(矩阵),调用库函数rand()随机产生20-50之间的整数给数组元素赋值,再将矩阵中第二列与第四列的元素互换。要求先输出原数组,再输出交换后的数组。(rand函数的使用请参阅教材259页)(此题为选做)

#include #include #include main() {int a[4][5],i,j,t;

srand( (unsigned)time(NULL)); printf(\变换前数组a:\\n\for(i=0;i<4;i++) {for(j=0;j<5;j++)

{a[i][j]= rand()0+21;printf(\printf(\}

printf(\变换后数组a:\\n\

39

for(i=0;i<4;i++){t=a[i][1];a[i][1]=a[i][3];a[i][3]=t;} for(i=0;i<4;i++) {for(j=0;j<5;j++) printf(\printf(\} }

9. 已知一组整型数据已按从小到大排列好,现任意输入一个整数,请按原来排序的规律将它插入到数组中(例如:原来的一组整数为1,3,5,8,9,若输入的整数是7,则最终的结果为: 1,3,5,7,8,9)。(此题为选做)

#include main()

{int a[10]={1,3,5,7,9,11,13,15,17},i,j,n; printf(\请输入1个整数:\scanf(\for(i=0;i<9;i++) if(a[i]>n)

{for(j=9;j>i;j--)a[j]=a[j-1]; a[i]=n; break; }

40

if(n>=a[8])a[9]=n; for(i=0;i<10;i++) printf(\ \printf(\}

10. 编写程序实现对字符串的加密,要求从键盘输入一个字符串,输出加密之后的字符串。

加密规则为:对于串中第奇数个字符,若是字母,则把该字母变为它后面的字母(若为Z则变为A),不是字母则不变;对于偶数个字符,若是字母,则把该字母变为它前面的字母(若为A则变为Z),不是字母则不变;大小写字母都遵循此规则。例如: 若原字符串是:AbbaZG Ha-MnnK Yzx 加密字符串为:BaczAF Gb-NmoJ Xaw (此题为选做)

#include main() {char a[20]; int i;

printf(\请输入一个字符串:\gets(a);

for(i=0;a[i]!='\\0';i++)

if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')

本文来源:https://www.bwwdw.com/article/fm9.html

Top