习题 5.5 求s=a+aa+aaa+···aa···a之值,其中a是一个数字,n表示a的位数,n由键盘输入。

来源:互联网 发布:国内人脸数据库 编辑:程序博客网 时间:2024/05/17 20:02

C程序设计 (第四版) 谭浩强 习题5.5 个人设计

习题 5.5 求s=a+aa+aaa+···aa···a之值,其中a是一个数字,n表示a的位数,n由键盘输入。

代码块:
方法1:(利用循环结构)

#include <stdio.h>#include <math.h>int main(){    int n, a;    printf("Please enter a & n: ");              //输入a和n的值    scanf("%d %d", &a, &n);    for (int i=0, t=0, s=0; i<n; t+=a*pow(10, i), s+=t, i++);  //求Sn值    printf("Sn=%d\n", s);    return 0;}

方法2:(利用函数的模块化设计)

#include <stdio.h>#include <math.h>void input();                            //定义输入函数int sn(int x, int y);                    //定义sn函数int a, n;                                //定义全局变量int main(){    input();                             //调用输入函数    printf("Sn=%d\n", sn(a, n));         //求sn并输出结果    return 0;}//输入函数void input(){    printf("Please enter a & n: ");    scanf("%d %d", &a, &n);}//sn函数int sn(int x, int y){    for (int i=0, t=0, s=0; i<y; t+=x*pow(10, i), s+=t, i++);    return s;}
阅读全文
0 0
原创粉丝点击