电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

西北农林科技大学C语言上机实习4答案VIP免费

西北农林科技大学C语言上机实习4答案_第1页
1/8
西北农林科技大学C语言上机实习4答案_第2页
2/8
西北农林科技大学C语言上机实习4答案_第3页
3/8
实习四答案1、字符串连接/*exer4-1两串字符连接*/由键盘任意输入两串字符,不用库函数strcat,连接将两串字符。输入:两串字符输出:连接将两串字符输入样例:abcdef输出样例:abcdef#include#includevoidmain(void){unsignedinti,j;charsoustr[80],desstr[80];//printf("pleaseentersoustr:");gets(soustr);/*输入原串*///printf("pleaseenterdesstr:");gets(desstr);/*输入目的串*/i=strlen(soustr);/*取目的串尾部位置*/for(j=0;j<=strlen(soustr);j++,i++){soustr[i]=desstr[j];/*将原串依次接入目的串尾部*/}puts(soustr);}2、简单加密程序/*exer4-2字符加密*/由键盘任意输入一串字符,对其进行加密,加密原则为:如果为字母,将其循环右移2个字母,其他字符保持不变。输入:一串字符输出:加密后的字符串输入样例:abl2CDxyz输出样例:cdl2EFzab提示:1.可用gets()和puts()输入输出字符串。2.利用ASCII码运算进行加密。3.循环右移的含义是:将a-z,A-Z各看成一个环进行移动,即y右移2个字母后为a,z右移2个字母后为b;Y右移2个字母后为A,Z右移2个字母后为B。#include#includevoidmain(void){unsignedintj;charsoustr[80],secstr[80];//printf("pleaseentersoustr:");gets(soustr);/*输入原串*/for(j=0;j<=strlen(soustr);j++){if(soustr[j]>='A'&&soustr[j]<='Z')secstr[j]=(soustr[j]-'A'+2)%26+'A';/*计算大写字母密文*/elseif(soustr[j]>='a'&&soustr[j]<='z')secstr[j]=(soustr[j]-'a'+2)%26+'a';/*计算小写字母密文*/elsesecstr[j]=soustr[j];/*其它字符不变*/}puts(secstr);}3、矩阵对角线元素求和/*exer4-3主和辅对角线上元素之和*/输入一个5×5的数组,分别求其主对角线和辅对角线上元素之和。输入:5×5的数组输出:主对角线和辅对角线上元素之和输入样例:12345678910111213141516171819202122232425输出样例:6565主对角线为从矩阵的左上角至右下角的连线,在数组中即指行列下标相同的元素,辅对角线为从矩阵的右上角至左下角的连线,这些元素的下标之间也可用相应的表达式表达。#include#includevoidmain(void){inti,j;inta[5][5];intsum1=0,sum2=0;//printf("pleaseentersoustr:");for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);/*输入数组*/for(i=0;i<5;i++){sum1=sum1+a[i][i];/*主对角线*/sum2=sum2+a[i][4-i];/*辅对角线*/}printf("%d%d\n",sum1,sum2);}4、数据顺序调整/*exer4-4将最大数调到最前面,最小数调到最后面*/由键盘任意输入10个数,将最大数调到最前面,最小数调到最后面。输入:任意10个数输出:数据调整后的10个数。输入样例:0123456789输出样例:9123456780提示:①定义四个变量d1、d2、x1、x2,分别存放最大数、最小数及它们的位置;②在循环开始前,将第一个元素作为参考,将其值分别存入d1、x1,将其下标分别存入d2、x2;③在循环中将其它元素逐一与d1比较,若比d1大,将其存入d1,并将其下标存入d2;否则将其与x1比较,若比x1小,将其存入x1,并将其下标存入x2;④结束循环后,将d2所示位置的数与第一个数交换,将x2所示位置的数与最后一个数交换,然后输出数组所有元素即可。#include#includevoidmain(void){inti,a[10],temp;intkmax=0,kmin=0;//printf("pleaseenter:");for(i=0;i<10;i++)/*输入数组*/scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]>a[kmax])kmax=i;/*找最大数位置*/elseif(a[i]

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

西北农林科技大学C语言上机实习4答案

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群