求解一道简单的C语言小题

来源:百度知道 编辑:UC知道 时间:2024/05/30 22:06:22
下列程序中,函数sum()的功能是从键盘接收一个整数d和一个由数字字符组成的字符串s,然后计算字符串中前d个字符所对应的整数之和。如输入d=5,s="35724897",输出结果为21。程序的部分语句如下,请先仔细读程序及注释,然后在此基础上写出完整的sum函数(缺少的语句可直接写在预留的空白处),并对新写的语句加上注释。

#include "stdio.h"
int sum(int m,char p[]) /* 定义函数sum*/
{int a=0; /* a用于存放和*/
/* 以下是求和部分*/

return a;/* 返回和*/
}

main()
{int d;
char s[20]= "123456789";/*定义字符数组s并初始化*/
printf("\nEnter d :");
scanf("%d",&d);
printf("\n%d\n ",sum(d,s));/*调用函数sum*/
}

#include "stdio.h"
int sum(int m,char p[]) /* 定义函数sum*/
{int a=0; /* a用于存放和*/
/* 以下是求和部分*/
int i;
for(i=0;i<m;i++)
a+=*(p+i)-'0';
return a;/* 返回和*/
}

main()
{int d;
char s[20]= "123456789";/*定义字符数组s并初始化*/
printf("\nEnter d :");
scanf("%d",&d);
printf("\n%d\n ",sum(d,s));/*调用函数sum*/
}

#include "stdio.h"
int sum(int m,char p[]) /* 定义函数sum*/
{int a=0; /* a用于存放和*/
/* 以下是求和部分*/

int i;
for(i=0;i<m;i++)
a+=(int)p[i];
i=48;
a-=i*m;

return a;/* 返回和*/
}

main()
{int d;
char s[20]= "123456789";/*定义字符数组s并初始化*/
printf("\nEnter d :");
scanf("%d",&d);
printf("\n%d\n ",sum(d,s));/*调用函数sum*/
}