0
点赞
收藏
分享

微信扫一扫

学习通B类题

小编 2022-04-29 阅读 56
c语言

 

#include<stdio.h>
#include<math.h>
int main()
{
	int i,n;
	scanf("%d",&n);
	double high=0,sum=100;
	for(i=1;i<=n;i++)
	{
		sum += high*2;
		high = 100*pow(1.0/2,i);
	}
	
	printf("s=%.12f,h=%.12f",sum,high);
	return 0;
}

#include<stdio.h>
#include<math.h>
void printline(int n)//输出第n行的函数
{
	int i;
	for(i=0;i<fabs(n-4);i++)
	{
		printf(" ");
	}
	for(i=0;i<(2*(n<4?n:8-n)-1);i++)
	{
		printf("*");
	}
	if(n!=7) printf("\n"); //最后一行是第7行,除最后一行外都实现换行
}
int main()
{
	int i,m;
	scanf("%d",&m);
	for(i=1;i<=m;i++)//进行循环,输出前n行
	{
		printline(i);
	}
	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
	int n,i;
	char a[50];
	gets(a);
	n=strlen(a);
	
	//puts(a);这里不可用,它会将'/0'转化为'/n'导致换行
	for(i=0;i<n;i++)
	{
		printf("%c",a[i]);
	} 
	
	for(i=0;i<n/2;i++,n--)//每次都从左,右两端分别取一个字符进行比较
	{
		if(a[i]!=a[n-1]) break;
	}
	if(i==n/2) printf(" is a palindrome.");
	else printf(" is not a palindrome.");
	return 0; 
}

 

下面这个程序有一点小问题,是半对 

#include<stdio.h>
void per_num(int n)//判断1-n之间(保括1,n)的完数的函数
{
	int p,q=0,cnt=0,sum,i;
	int a[100];
	
	for(i=2;i<=n;i++)
	{
		cnt=0;sum=0;
		for(p=1;p<i;p++)
		{
			if(i%p==0) 
			{
			sum += p;a[cnt]=p;cnt++;
			}
		}
		if(sum!=i) continue;//如果不是,结束本次循环 
		else 
		{ 
		q++;//q代表完数的个数 
		printf("%d its factors are ",i);
		for(p=0;p<cnt;p++)
		{
			printf("%d",a[p]);
			if(p!=cnt) printf(",");
		}}
		printf("\n");
	}
	if(q==0) printf("No perfect number.");
}
int main()
{
	int m;
	scanf("%d",&m);
	per_num(m);
	
	return 0;
}

 

 

 这个程序质量不咋高,要是有更好的方法就不要用它了

 

#include<stdio.h>
int main()
{
	int a[3][4],i,j,sp;
	for(i=0;i<3;i++)//输入
	{
		for(j=0;j<4;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	sp=a[0][0];
	for(i=0;i<3;i++)//打擂台,找到最大值
	{
		for(j=0;j<4;j++)
		{
			if(sp<a[i][j]) sp=a[i][j];
		}
	}
	for(i=0;i<3;i++)//遍历输出与最大值相同的数组
	{
		for(j=0;j<4;j++)
		{
			if(sp==a[i][j]) printf("a[%d][%d]=%d\n",i,j,a[i][j]);
		}
	}
}

 

 睡觉,睡醒再写,困了

举报

相关推荐

0 条评论