《华南农业大学c语言上机考试题目.doc》由会员分享,可在线阅读,更多相关《华南农业大学c语言上机考试题目.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 打印数字空心菱形 Time Limit:1000MS Memory Limit:65536K 题型: 编程题语言: 无限制 描述 由键盘输入n(n为奇数),打印如下图空心菱形 例n=7 1 2 2 3 3 4 4 3 3 2 2 1 输入格式 整数 输出格式 如题 输入样例 3 输出样例 1 2 2 1 作者 Admin 答案: #include #include int main() int n,i,j; scanf(%d,&n); n/=2; for(i=-n;i=n;+i) for(j=0;j2*n+1-abs(i);+j) if(j=abs(i)|j=2*n-abs(i) prin
2、tf(%d,n-abs(i)+1); else printf(040); printf(n); return 0; 2 两数和为1909 Time Limit:1000MS Memory Limit:65536K 题型: 编程题语言: 无限制 描述 由键盘输入10个整数,编程判断是否存在两个数的和为1909,存在输出Y,不存在输出N 输入格式 10个整数,由空格分隔 输出格式 Y或者N 输入样例 2 1900 42 312 3 31 23 343 213 3 4 9 输出样例 Y 提示 作者 Admin #include #include main() int a10; int i,j; in
3、t flag = 0; printf(input ten numbers:n); for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+) for(j=0;j10;j+) if(aj + ai = 1909 & i!=j) flag = 1; break; if(flag) printf(Yn); else printf(Nn); system(pause); 3 回文串的判断 Time Limit:1000MS Memory Limit:65536K 题型: 编程题语言: 无限制 描述 回文串是指一个字符串从左读到右与从右读到左是一样的,现由键盘输入一行字
4、符(最多不超过80个字符,以回车结束), 判断能否通过去掉0个或1个字符,使得字符串成为回文串,如果可以输出Y,否则输出N 输入格式 一行字符 输出格式 Y或N 输入样例 abca 输出样例 Y 提示 提示,去掉c字符,即可成为回文串 作者 Admin #include stdio.h #include string.h int main() int n; char a100=abca; int i,j,flag; n=strlen(a); i=0; j=n-1; flag=0; / characters qty need inserted while ( (flag2) / only nee
5、d 0 or 1 character & (i+1)=(j-1) / have character to compare ) if (ai=aj) i+; j-; else if (ai=aj-1) flag+; i+; j-=2; else if (ai+1=aj) flag+; i+=2; j-; else flag=2; if (flag2) printf(Y); else printf(N); return 0; 二: #include #include #define SIZE 20 int isPalindrome(char ); /* Prototype only send th
6、e number and type of arguments to the Compiler. */ main() /*Local Declarations*/ char strSIZE; /*Statements*/ printf(请输入字符串,以回车结束:n); scanf(%s,str); /*Record the string.*/ if(isPalindrome(str)=0) /*The string is not a palindrome.*/ printf(The string is not a palindrome.n); else /*The string is a pal
7、indrome.*/ printf(The string is a palindrome.n); system(pause); return 0; 三: #include #include void main() char str20,copy20; char temp; char *head,*tail; printf(Please input a string:n); gets(str); strcpy(copy,str); head=str; tail=str+strlen(str)-1; while(headtail) temp=*head; *head+=*tail; *tail-=temp; if(strcmp(copy,str)=0) printf(该字符串为回文。n); else printf(该字符串不是回文。n); 四 #include #include int main() 继续阅读12