明解C语言入门篇练习题第十一章

练习11-1

#include <stdio.h>

int main(void)
{
	char *p = "123";

	printf("p = \"%s\"\n", p);

	p = "456"+1;

	printf("p = \"%s\"\n", p);

	return 0;
}

练习11-2 补


练习11-3

#include <stdio.h>

char *str_copy(char *d, const char *s)
{
	char *t = d;

	while (*d++ = *s++)
		;
	return t;
}

int main(void)
{
	char str[128] = "ABC";
	char tmp[128];

	printf("str = \"%s\"\n", str);

	printf("复制的是:", tmp);
	scanf("%s", tmp);

	

	puts("复制了。");
	printf("str = \"%s\"\n", str_copy(str, tmp));

	return 0;
}

练习11-4

#include <stdio.h>
#include<string.h>

void put_string(const char *s)
{
	int str_len;
	int i;
	str_len = strlen(s);
	for (i = 0; i < str_len; i++)
	{
		printf("%c",*s);
		s++;
	}
	return;
}

int main(void)
{
	char s[] = "abcdef";
	put_string(s);
	printf("\n");

	return 0;
}

练习11-5

#include <stdio.h>
#include<string.h>

int str_chnum(const char *s,int c)
{
	int num = 0;
	while (*s != '\0')
	{
		if (*s == c)
			num++;
		s++;
	}

	return num;
}

int main(void)
{
	char s[128];
	char c;
	printf("input string s:");
	scanf("%s",s);
	getchar();//clear buffer
	printf("input character:");
	scanf("%c",&c);
	printf("string %s has %d character %c\n",s,str_chnum(s,c),c);
	
	return 0;
}

练习11-6

#include <stdio.h>
#include<string.h>

char *str_chr(const char *s,int c)
{
	int *chr_flag;
	while (*s != '\0')
	{
		if (*s == c)
		{
			chr_flag = s;
			break;
		}
		else
			chr_flag = NULL;
		s++;
	}
	return chr_flag;
}

int main(void)
{
	char s[128];
	char c;
	printf("input string s:");
	scanf("%s",s);
	getchar();//clear buffer
	printf("input character:");
	scanf("%c",&c);
	printf("pointer of character %c is %p\n",c,str_chr(s,c));
	
	return 0;
}

练习11-7

#include <stdio.h>  
#include <ctype.h>
      
void str_toupper(char *s)
{
	while(*s!='\0')
	{
		*s = toupper(*s);
		s++;
	}
	return;
}

void str_tolower(char *s)
{
	while(*s!='\0')
	{
		*s = tolower(*s);
		s++;
	}
	return;
}

int main(void)  
{  
	int i;
	char s[128];
	printf("input string s:");
	scanf("%s",s);

	printf("output upper string:");
	str_toupper(s);
	printf("%s",s);
	printf("\n");

	printf("output lower string:");
	str_tolower(s);
	printf("%s",s);
	printf("\n");

    return 0;
}  

练习11-8 暂时有误

练习11-9 先不写

练习11-10 先不写

明解C语言 第3版 入门篇》的第六包括两个练习题,分别是练习6-3和练习6-6。练习6-3是一个计算输入数的立方的程序,代码如下: #include<stdio.h> int cube(int x) { return x*x*x; } int main(void) { int a ; printf("请输入A的值:"); scanf("%d",&a); printf("该值的立方为:%d",cube(a)); return 0; } 练习6-6是一个根据输入的n值,按照次数发出响铃的程序,代码如下: #include<stdio.h> void alert(int ch, int n) { putchar(ch); } int main(void) { int a, i; printf("请输入n值:"); scanf("%d",&a); for(i=1;i<=a;i++) { alert('\a',i); } return 0; }<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [明解C语言(第3版)入门篇.[日]柴田望洋(带详细书签).pdf 【半高清】](https://download.csdn.net/download/kxjrzyk/11049496)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [明解C语言入门篇)第六](https://blog.csdn.net/a237664181a/article/details/89043758)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值