C语言入门基础题(四)

16.判断101-200之间有多少个奇数,并输出所有奇数。

#include<stdio.h>
int main()
{
	int n,i;
	n=0;
	for(i=101;i<=200;i++)
		{
			if (i%2!=0)
				n++;
				printf("%d ",i);
	}
		printf("\n");
		printf("101-200之间有%d个素数\n",n);
	return 0;
}

17. 如果一个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果个数达到不超过100的最大值。编写程序求每天平均花多少钱?

#include<stdio.h>
int main()
{
	//i表示苹果个数;t表示天数;m表示钱数
	float i,t,avg,m;
	t=1,m=1.6;
	for(i=2;i<=100;i++)
	{
		i=2*i;
		t++;
		m+=(0.8*i);
	}
		avg=m/t;
		printf("%f",avg);
	return 0;
}
/*
#include<stdio.h>
main( )
{
	int day=0,buy=2;
	float sum =0.0,ave;
	do{
		sum+=0.8*buy;
		day++;
		buy*=2;
	}while(buy<=100);
	ave=sum/day;
	printf("%f",ave);
}
*/

18. 试编写程序,找出1至99之间的全部同构数,同构数是这样的一组数:它出现在平方数的右边。例如:5是25右边的数,25是625的数,5和25都是同构数。

#include<stdio.h>
int main()
{
	int i,j;
	for(i=1;i<=10000;i++)
	{
		for(j=1;j<i-1;j++)
		{
			if((j==i%10||j==i%100||j==i%1000)&&i==j*j)
				printf("%d是同构数\n",j);
		}
	}
	return 0;
}
#include<stdio.h>
int main()
{
	int i;
	for(i=1;i<100;i++)
		if(i*i%10==i)
	printf("%3d",i);
		else if(i*i%100==i)
	printf("%3d",i);
	return 0;
}

19.求一个整数任意次方的最后三位数。即求x的y次方的最后三位数,要求x,y从键盘输入。

#include<stdio.h>
int main()
{
	int a,x,y,b;
	b=1;
	printf("输入两个整数:");
	scanf("%d%d",&y,&x);
	do{
		b=b*y;
		x--;
		}while(x);
	a=b%1000;
	printf("x的y次方的最后三位数:%d",a);
	return 0;
}

#include<stdio.h>
int main()
{
	int i,x,y,last=1;
	printf("输入两个整数:");
	scanf("%d%d",&x,&y);
	for(i=1;i<=y;i++)
		last=last*x%1000;
	printf("%d的%d次方的最后三位数是:%d\n",x,y,last%1000);
	return 0;
}

20.从键盘上输入6名学生的5门成绩,分别统计出每个学生的平均成绩。

#include<stdio.h>
int main()
{
	int i,j;
	float g,sum,avg;
	for(i=1;i<=6;i++)
	{ 
		sum=0;
		for(j=1;j<=5;j++)
		{
			scanf("%f",&g);
				sum+=g;
		}	
		avg=sum/5;
	
	}
	for(i=1;i<=6;i++)
	printf("%d %5.2f\n",i,avg);
	return 0;
}

#include<stdio.h>
const int row=6,col=5;
int main()
{
	float sum[row],score;
	for(int i=0;i<row;i++)
	{ 
		sum[i]=0.0;
		for(int j=1;j<col;j++)
		{
			scanf("%f",&score);
			sum[i]+=score;
		}	
	}
		for(int i=0;i<row;i++)
		printf("%d %5.2f\n",i,sum[i]/col);
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值