您的位置:首页 > 编程语言 > C语言/C++

C语言程序设计--导言余下的样例代码测试

2013-03-17 22:10 169 查看
本来有三个,全弄出来太无聊啦,

截取两个,是关于函数和数组基础知识的。

代码A:

#include <stdio.h>
#include <stdlib.h>

int power(int m, int n);
int main(int argc, char *argv[])
{
int i;

for (i = 0; i < 10; ++i)
printf("%2d %5d %7d\n", i, power(2,i), power(-3,i));

system("PAUSE");
return 0;
}

int power(int base, int n)
{
int i, p;

p = 1;
for (i = 1; i <= n; ++i)
p = p * base;
return p;
}


代码B(相对于书上源码,我加了几条PRINFT语句,以便能更深入的了解作者编程的思路及实现):

#include <stdio.h>
#define MAXLINE   1000

int getline(char line[], int maxline);
void copy(char to[], char from[]);

main()
{
int len;
int max;
char line[MAXLINE];
char longest[MAXLINE];

max = 0;
while ((len = getline(line, MAXLINE)) >0){
printf("\nlen's value is : %d\n", len);
if (len > max) {
max = len;
copy(longest, line);
}
}
if (max > 0)
printf("%s\n", longest);
printf(" max is %d",max);

return 0;
}

int getline(char s[], int lim)
{
int c,i;

for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c !='\n'; i ++){
s[i] = c;
}

if (c == '\n'){
s[i] = c;
printf("after a new line,s array is %s \n",s);
++i;
printf("after a new line,i value is %d \n",i);
}

s[i] = '\0';
return i;
}

void copy(char to[], char from[])
{
int i;

i = 0;
while ((to[i] = from[i]) != '\0')
++i;
}


B截图(注意最长数组前面被填充的算法):

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: