北航2017C语言|程序设计题七

计划将历届的程序设计、算法题都写出来,先实现python版本,然后再实现c版本这样既练习了python的使用,也有c语言版的以便考试之用。

七.程序设计题(本题15分)
请编写一C语言函数psum,该函数的功能是首先接收两个整数类型的参数a和n,然后计算机表达式“ ”的结果。需要注意的是,当a或者n小于等于0时,该函数返回0。(提示:可以先编写一个求解的辅助函数,再在psum函数中计算累加和)

python 3.7版本

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#定义计算n^a 其中a可理解为相乘的个数,n为乘数
def cube(a,n):
    tmp = 1
    while(a > 0):
        tmp = tmp * n
        a = a - 1
    return tmp
#接收a、n整形数据并计算n^a的和
def psum():
    a = input("input int a >>>\n")
    n = input("input int n >>>\n")
    a = int(a)
    n = int(n)
    if a <= 0 or n <= 0:
        return 0
    else:
        count = 0
        循环累加
        for i in range(1,n+1):
            count += cube(a,i)
        return count

if __name__ == '__main__':
    b = psum()
    print(b)
  • 执行结果
input int a >>>
2
input int n >>>
10
385

C语言版

#include <stdio.h>
//定义计算n^a 其中a可理解为相乘的个数,n为乘数
int cube(int a,int n){
    int tmp = 1;
    while (a > 0){
        tmp = tmp * n;
        a = a-1;
    }
    return tmp;
}
//接收a、n整形数据并计算n^a的和
int psum(void){
    int a,n;
    int count = 0;
    printf("input int a >>>\n");
    scanf("%d",&a);
    printf("input int n >>>\n");
    scanf("%d",&n);
    if (a <= 0 || n<= 0){
         return 0;
    }
    else{
        for(int i=1;i<=n;i++){
            count += cube(a,i);
        }
        return count;
        }
}
int main(void) {
    int b;
    b=psum();
    printf("%d",b);
    return b;
}
  • 执行结果
input int a >>>
2
input int n >>>
10
385

猜你喜欢

转载自blog.csdn.net/weixin_34209406/article/details/87400047
今日推荐