哈尔滨工程大学
《程序设计基础》实验报告
基础实践一
姓 名: 麦豆 班 级:
学 号:
实验时间: 2018 年 5 月 3
日
成绩
哈尔滨工程大学计算机基础课程教学中心
实验题目 1 :写一个函数,Sn=a+aa+aaa+···+aa···a
求多项式的前 n 项和,其中 a 是一个数字。n 由键盘 入。
设计思想:声明函数 sum,利用循环求得 sum 最终值并返回 sum 值
实验代码及注释 :
#include
int sum(int a,int n);//sum 函数声明
int main()
{
int n;
int a;
printf(" 请 入 a,n:\n");
scanf("%d%d",&a,&n);
printf("前%d 项和为%d\n",n,sum(a,n));//调用函数 sum
return 0;
}
int sum(int a,int n)
{
int sum=0;
int i;
int count;
count=0;
for(i=1;i<=n;i++)
{
count=count*10+a;//每次乘 10 加 a
sum=sum+count;
}
return sum;
}
验 证 与 结 论 :
总结与心得体会:声明函数时后面一定要有分号,但写函数时不
需要。
实验题目2 :编程实现 10000 以内的回文数。其中,函数实现判
断任一正整数是否为回文数。所谓回文数就是将一个数从左向右读与
从右向左读是一样的,例如 121 和 1331 都是回文数。
设计思想:声明 judje 函数,判断 number 是否为回文数。在函数内
部先判断数字number 位数,由于回文数为对称结构,故通过位数来确
定判断次数,每次判断数字首位与个位然后去掉首位与个位再次判断
直至循环结束。另外需要对个位数另行判断,个位数一定为回文数。如
果为回文数返回 1,否则返回 0。
实验代码及注释 :
#include
#include
int judje(int number);//声明 judje 函数
int main()
{
int i;
for(i=0;i<10000;i++)
{
if(judje(i)==1)//judje 为 1 的数 出
printf("%d\t",i);
}
return 0;
}
int judje(int number)//判断 number 是否为回文数
{
int judje,i=0,middle_number,parity,j;// 回文数判断变量 ,数字
位数,数字位数中间变量,数字位数奇偶
int middle_number2;//取掉首位个位剩余数
int shouwei,gewei;//首位,个位
middle_number2=number;//全部赋初值
middle_number=number;
do //判断数字位数
{ i++;