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

C和指针第一章编程练习

2016-04-21 18:19 246 查看
2.编写一个程序,从标准输入读取几行输入,每行输入都要打印到标准输出上,前面要加上行号。在编写程序时要试图让程序能够处理的输入行的长度没有限制。

int main()
{
int ch=0;
int i = 1;//行号
int flag = 1;
while ((ch = getchar()) != EOF)//EOF是标准输入的结尾
{
if (flag == 1)//注意比较是==
{
printf("<%d>", i);
i++;
flag++;
}
if (ch == '\n')
flag = 1;
putchar(ch);
}
system("pause");
return 0;
}


3.编写一个程序,从标准输入读取一些字符,并把它们写到标准输出上,它同时应该计算checksum

的值,并写在字符的后面。

int main()
{
char  ch =  0 ;
signed char checksum = -1;
printf("请输入:\n");
while ((ch = getchar()) != EOF)//EOF是标准输入的结尾
{
putchar(ch);
checksum+= ch;
if (ch == '\n')
{
printf("%d\n", checksum);
}
}
system("pause");
return 0;
}


4.编写一个程序,一行一行地读取输入行,直至到达文件尾。算出每行输入行的长度,然后把

最长的那行打印出来,为了简单起见,你可以假定所有的输入行均不超过1000个字符。

int main()//ctrl+z可以停止输入,注意熟练使用gets()、puts()、getchar()、
{
int i = 0;
char max_str[MAX] = { 0 };
char str[MAX] = { 0 };
int len = 0;
int maxlen = -1;
while (gets(str)!=NULL)
{
len = strlen(str);
if (len > maxlen)
{
maxlen = len;
strcpy(max_str, str);
}
}
if (maxlen >= 0)
printf("%s", max_str);
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: