c和指针第二章编程练习代码

1.    main.c

#include<stdio.h>
int main()
{
	int a, b, c ;
	scanf ( "%d", &a ) ;
	b = increment ( a ) ;
	c = negate ( a ) ;
	printf ( "%d  %d", b, c ) ;
	return 0 ;
 } 

        increment.c

int increment ( int n )
{
	return n + 1 ;
}

        nagate.c

int negate ( int n )
{
	return -n ;
}

需手动输入

2.书中答案:

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

int main()
{
	int ch ;
	int braces ;
	
	braces = 0 ;
	
	while ( ( ch = getchar() ) != EOF )	//逐字读取程序 
	{
		if ( ch == '{' )		//左花括号始终是合法的 
			braces += 1 ;
		if ( ch == '}' )		//右括号只在有一个左括号与其适配时才合法 
			if ( braces == 0 )
				printf ( "Extra closing brace!\n" ) ;
			else
				braces -= 1 ;
	}
					
	if ( braces > 0 )	//验证是否存在未适配的左括号 
		printf ( "%d unmatched opening braces(s)!\n", braces ) ;
			
	return EXIT_SUCCESS ;	
}

    自己写的:

#include<stdio.h>
#define MAX 1000

int main()
{
	int num = 0 ;
	int i ;		//数组下标 
	char ch ;
	char c[MAX] ;	//储存字符串	
	scanf ( "%s", c ) ;
	
	while ( ( ch = getchar() ) != EOF )	//逐字读取 
	{
		for (i =0; c[i] != '\n'; i++ )	//逐行判断 
		{
			if ( c[i] == '{' && num >= 0 )	//必须先有左括号 
				num++ ;
		
			if ( c[i] == '}' )
				num-- ;
		}
	}
	
	if ( num == 0 )	//验证是否适配 
		printf ( "noproblem" ) ;
	else
		printf ( "exit") ; 

	return 0 ;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值