《C语言程序设计》第4版 何钦铭、颜晖主编 课后习题答案 第7章 课后习题

P165

练习7-1的第一问:有,结果只能输出一个下标,但输入数据中可能会有两个需查找的值

#include<stdio.h>//例7-3 
#define N 10
int main(void)
{
	int i,n,x,flag;//flag 的作用是为了方便输出找不到的情况,需要放到循环外面 
	int a[N];
	printf("Enter n(1<=n<=10),x:");
	scanf("%d%d",&n,&x);
	printf("输入%d个整数:",n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	flag=0;//是否有下标的判断标准,默认没有,有则改变,不等于0即可 
	for(i=0;i<n;i++)
	{
		if(x==a[i]){
			printf("下标为:%d\n",i);
			flag=1;//有,则不需要输出Not,改变flag
		//	break;  //这里不能加break;否则 只能查找到一个下标,但输入数据中可能有两个或多个满足条件的元素 
		}
	}
	if(flag==0){
	    printf("Not Found!\n");
	}
	
	return 0;
}

练习7-2到7-4

#include<stdio.h>
int main(void)
{
	/*求最大值及其下标(练习7-2)*/{ 
	int n,a[10],i,max;
	
	printf("Enter n:");
	scanf("%d",&n);
	printf("Enter %d numbers:",n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	} 
	max=0;
	for(i=0;i<n;i++)
	{
		if(a[i]>a[max]){
			max=i;
		}
	}
	printf("max=%d,min_index=%d\n\n",a[max],max);} 
	
	/*将数组中的数逆序存放(练习7-3)*/{ 
	int n,i,t,j;
	int a[10];
	
	printf("Enter n:");
	scanf("%d",&n);
	printf("Enter %d numbers:",n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);//存放 
	} 
	i=0;
	j=n-1;
	while(i<j){//逆序 
		t
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值