1、 for(i=1;i=n;i+) scanf(age); sum+=age; average=sum/n; printf(%.2fn,average);/*二:数字求和描述给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少?输入输入一行,只包括6个小于100的正整数,其中第一个正整数就是a。输出输出一行,给出一个正整数,是5个数中小于a的数的和。样例输入10 1 2 3 4 11样例输出10 int a,i,s5; int sum; sum=0;a); for(i=0;5;si); if(sia) sum+=si;%dn,sum);/*三:两倍:给定2到15个
2、不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。输入包括多组测试数据。每组数据包括一行,给出2到15个两两不同且小于100的正整数。每一行最后一个数是0,表示这一行的结束后,这个数不属于那2到15个给定的正整数。输入的最后一行只包括一个整数-1,这行表示输入数据的结束,不用进行处理。对每组输入数据,输出一行,给出有多少个数对满足其中一个数是另一个数的两倍。1 4 3 2 9 7 18 22 02 4 8 10 07 5 11 13 1 3 0-130
3、*/ int a16,i; int count,j,m=0; while(1)a0); if(a0=-1) break; m=0; for(i=1; scanf(ai); m+; if(ai=0) break; count=0; j=m; while(j-) for(i=0;m; if(aj=2*ai) count+; printf(%d %dn,count,m);四:肿瘤面积/*描述在一个正方形的灰度图片上,肿瘤是一块矩形的区域,肿瘤的边缘所在的像素点在图片中用0表示。其它肿瘤内和肿瘤外的点都用255表示。现在要求你编写一个程序,计算肿瘤内部的像素点的个数(不包括肿瘤边缘上的点)。已知肿瘤的
4、边缘平行于图像的边缘。只有一个测试样例。第一行有一个整数n,表示正方形图像的边长。其后n行每行有n个整数,取值为0或255。整数之间用一个空格隔开。已知n不大于1000。输出一行,该行包含一个整数,为要求的肿瘤内的像素点的个数。5255 255 255 255 255255 0 0 0 255255 0 255 0 2551提示如果使用静态数组来表示图片数据,需要将该数组定义成全局变量。*/int s10001000; int n,i,j,b,c,k,t; int area; area=0;n; for(j=0;jj+)sij); j=0; if(sij=0) b=i; t=j; j+; i=
5、0; for(j=0; c=j; k=i; i+; area=(k-b-1)*(c-t-1);%d %d %d %d %dn,area,b,c,k,t);/*五:肿瘤检测一张CT扫描的灰度图像可以用一个N*N(0N100)的矩阵描述,矩阵上的每个点对应一个灰度值(整数),其取值范围是0-255。我们假设给定的图像中有且只有一个肿瘤。在图上监测肿瘤的方法如下:如果某个点对应的灰度值小于等于50,则这个点在肿瘤上,否则不在肿瘤上。我们把在肿瘤上的点的数目加起来,就得到了肿瘤在图上的面积。任何在肿瘤上的点,如果它是图像的边界或者它的上下左右四个相邻点中至少有一个是非肿瘤上的点,则该点称为肿瘤的边界点
6、。肿瘤的边界点的个数称为肿瘤的周长。现在给定一个图像,要求计算其中的肿瘤的面积和周长。输入第一行包含一个正整数N(0100),表示图像的大小;接下来N行,每行包含图像的一行。图像的一行用N个整数表示(所有整数大于等于0,小于等于255),两个整数之间用一个空格隔开。输出只有一行,该行包含两个正整数,分别为给定图像中肿瘤的面积和周长,用一个空格分开。699 99 99 99 99 9999 99 99 50 99 9999 99 49 49 50 5199 50 20 25 52 9940 50 99 99 99 999 8*/ int n,i,j; int area,permit; permi
7、t=0; if(sij50|si+1j50|sij-150|sij+150) permit+;,area,permit);/*八:简单密码描述Julius Caesar曾经使用过一种很简单的密码。对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。比如字符A用F来代替。如下是密文和明文中字符的对应关系。密文A B C D E F G H I J K L M N O P Q R S T U V W X Y Z明文V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 你的任务是对给定的密文进行解密得到明文。你需要注意的是
8、,密文中出现的字母都是大写字母。密文中也包括非字母的字符,对这些字符不用进行解码。输入输入中的测试数据不超过100组。每组数据都有如下的形式,而且各组测试数据之间没有空白的行。一组测试数据包括三部分1.起始行 - 一行,包括字符串 START2.密文 - 一行,给出密文,密文不为空,而且其中的字符数不超过2003.结束行 - 一行,包括字符串 END在最后一组测试数据之后有一行,包括字符串 ENDOFINPUT。输出对每组数据,都有一行输出,给出密文对应的明文。STARTNS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJXE
9、NDN BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJIFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJENDOFINPUTIN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSESI WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROMEDANGER KNOWS FULL WELL TH
10、AT CAESAR IS MORE DANGEROUS THAN HE*/string.h char s201,end201; char b27=VWXYZABCDEFGHIJKLMNOPQRSTU int i,len; gets(s); while(strcmp(s,)=0) gets(s); len=strlen(s); for(i=0;len; if(si=A&si0) si=n%8; n=n/8; for(j=i-1;j=0;j-)%o,sj);二:八进制到十进制 int i,len,ret; char s100; ret=0;%ss); len=strlen(s); ret*=8;
11、ret+=si-0,ret);三:二进制到十六进制#include result=ret%16; resj=alpresult; ret=ret/16; j+; for (i=j-1;ii-) printf(%c,resi); putchar(n);int main(void) strrev(a); for (i=0;i+=4) result=0; p=1; for (k=i;ki+4 & k=m) continue; ret*=m; result=ret%n; bj=aplresult; ret=ret/n; for(i=j-1;,bi);/*将字符串倒着输出*/ int t;第八章计算对数math.h int main() int a,b; int x,n; double temp; while(n-)a,&b); temp=log10(b)*1.0/log10(a); x=(int) temp;,x);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1