2018华南农业大学2018年秋高级语言程序设计期末公开模拟考试
1 求数的位数
描述
由键盘输入一个不多于9位的正整数,要求输出它是几位数。
输入格式
一个整数
输出格式
输出该数为几位数
输入样例
349213
输出样例
6
#include<stdio.h>
#include<string.h>
int main()
{
long num;
char str[20];
scanf("%ld",&num);
sprintf(str,"%d",num);
printf("%d",strlen(str));
return 0;
}
2 冒泡排序
Time Limit:1000MS Memory Limit:65536K
题型: 填空题 语言: 无限制
描述
由键盘输入10个数,用“冒泡法”对10个数从小到大排序,并按格式要求输出。代码如下,请填充完整。
#include "stdio.h"
main()
{ int a[10], i, j, t;
for(i=0;i<10;i++)
scanf("%d",_______________________) ;
for(_______________________)
{ for(j=0;j<_______________________;j++)
if (_______________________)
{_______________________}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
输入样例
70 5 14 20 19 2 99 67 13 66
输出样例
2 5 13 14 19 20 66 67 70 99
#include<stdio.h>
int main()
{ int a[10],i,j,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<=9;i++)
{ for(j=0;j<9-i;j++){
if (a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
3 迭代法求平方根
Time Limit:1000MS Memory Limit:65535K
题型: 编程题 语言: 无限制
描述
使用迭代法求a的平方根。求平方根的迭代公式如下,要求计算到相邻两次求出的x的差的绝对值小于1E-5时停止,结果显示4位小数
输入格式
输入一个非负实数a
输出格式
计算并输出平方根
输入样例
16
输出样例
4.0000
#include<stdio.h>
#include<math.h>
int main(){
float a,b,c;
scanf("%f",&a);
b=a;
do
{
c=(b+a/b)/2;
if(fabs(b-c)<10.e-5)break;
b=c;
}
while(1);
{
printf("%.4f",c);
}
return 0;
}
5 一年的第几天
Time Limit:1000MS Memory Limit:65535K
题型: 填空题 语言: 无限制
描述
定义一个结构体类型表示日期类型(包括年、月、日)。程序中定义一个日期类型的变量,输入该日期的年、月、日,
计算并输出该日期是一年的第几天。
#include <stdio.h>
struct DATE
{
_______________________
};
int days(struct DATE date)
{
_______________________
}
int main()
{
struct DATE d;
scanf("%d-%d-%d", &d.year, &d.month, &d.day);
printf("%d", days(d));
}
输入格式
年月日,格式如样例
输出格式
该年的第几天
输入样例
2015-1-1
输出样例
1
#include <stdio.h>
struct DATE
{
int year;
int month;
int day;
};
int days(struct DATE date)
{
int sum=date.day;
int a[13]={0,31,28,3