华南农业大学c语言上机考试题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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;j<2*n+1-abs(i);++j)
{
if(j==abs(i)||j==2*n-abs(i))
{
printf("%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 a[10];
int i,j;
int flag = 0;
printf("input ten numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
if(a[j] + a[i] == 1909 && i!=j)
{
flag = 1;
break;
}
}
if(flag) printf("Y\n");
else printf("N\n");
system("pause");
}
3回文串的判断
Time Limit:1000MS Memory Limit:65536K
题型: 编程题语言: 无限制
描述
回文串是指一个字符串从左读到右与从右读到左是一样的,现由键盘输入一行字符(最多不超过80个字符,以回车结束),
判断能否通过去掉0个或1个字符,使得字符串成为回文串,如果可以输出Y,否则输出N
输入格式
一行字符
输出格式
Y或N
输入样例
abca
输出样例
Y
提示
提示,去掉c字符,即可成为回文串
作者
Admin
#include "stdio.h"
#include "string.h"
int main()
{
int n;
char a[100]="abca";
int i,j,flag;
n=strlen(a);
i=0;
j=n-1;
flag=0; // characters qty need inserted
while ( (flag<2) // only need 0 or 1 character
&& ((i+1)<=(j-1)) // have character to compare
)
{
if (a[i]==a[j]) {i++; j--;}
else if (a[i]==a[j-1]) {flag++; i++; j-=2;}
else if (a[i+1]==a[j]) {flag++; i+=2; j--;}
else flag=2;
}
if (flag<2) printf("Y");
else printf("N");
return 0;
}
二:
#include
#include
#define SIZE 20
int isPalindrome(char []); /* Prototype only send the number and type of arguments to the Compiler. */
main()
{ /*Local Declarations*/
char str[SIZE];
/*Statements*/