C语言经典算法题

maintainer:小支

一、数位分离

1、水仙花数(153):水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身

#include <stdio.h>
int main()
{
	int i=0,g=0,s=0,b=0;
	for(i=100;i<1000;i++)
	{
		g=i%10;
		s=i/10%10;
		b=i/100;
		if(g*g*g+s*s*s+b*b*b==i)
			printf("%d\n",i);
	}
	return 0;	
}

2、同构数:正整数n若是它平方数的尾部,则称n为同构数。例如:5的平方数是25

#include <stdio.h>
int main()
{
	int i=0,g=0;
	for(i=1;i<100;i++)
	{
		g=i%10;
		if(g*g==i)
			printf("%d\n",i);
	}
	return 0;	
}

3、各位数加起来和为7

#include <stdio.h>
int main()
{
	int i=0,g=0,s=0,b=0;
	for(i=100;i<1000;i++)
	{
		g=i%10;
		s=i/10%10;
		b=i/100;
		if(g+s+b==7)
			printf("%d\n",i);
	}
	return 0;	
}

4、输出能被3整除且个位数为6的数

#include <stdio.h>
int main()
{
	int i=0,t=0;
	for(i=0;i<10;i++)
	{
		t=i*10+6;
		if(t%3==0)
			printf("%d\n",t);
	}
	return 0;	
}

5、完数:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程 找出1000以内的所有完数

#include <stdio.h>
int main()
{
	int i=0,j=0,s=0;
	for(i=1;i<=1000;i++)
	{
		s=0;
		for(j=1;j<i;j++)
			if(i%j==0)
				s+=j;
		if(s==i)
			printf("%d\n",i);
	}
	return 0;	
}

6、设计一个程序可以实现以下功能:寻找以下特征的四位正整数,其百位数为0,去掉百位数0可得到一个三位正整数,而该三位正整数乘以9等于原四位正整数。如6075=675*9。

#include <stdio.h>
int main()
{
	int i=0,t=0;
	for(i=1000;i<10000;i++)
	{
		if(i/100%10!=0)
			continue;
		t=i/1000*100+i%100;
		if(t*9==i)
			printf("%d\n",i);
	}
	return 0;	
}

7、回文数

#include <stdio.h>
int main()
{
	int i=0,t=0,n=0;
	scanf("%d",&i);
	t=i;
	do
	{
		n=n*10+t%10;
		t/=10;
	}while(t);
	if(n==i)
		printf("是回文");
	return 0;	
}

8、"-1234"到数字-1234

#include <stdio.h>
int main()
{
	char s[]="-1234",*p=s;
	int flag=0,num=0;
	if(*p=='-')
	{
		p++;flag=1;	
	}
	while(*p!='\0')
	{
		num=num*10+*p-'0';
		p++;
	}
	if(flag)
		num=-num;
	printf("%d",num); 
	return 0;
}

二、求和

1、1+1+2+1+2+3+1+2+3+4…+1+2+3+4+…+100

#include <stdio.h>
int main()
{
	int i=0,j=0,sum=0;
	for(i=1;i<=100;i++)
	{
		for(j=1;j<=i;j++)
			sum+=j;
	}
	printf("%d",sum);
	return 0;
}

2、1+12+123+…+123456789

#include <stdio.h>
int main()
{
	int i=0;
	long j=1,sum=0;
	for(i=1;i<=9;i++)
	{
		sum+=j;
		j=j*10+(i+1);
	}
	printf("%ld",sum);
	return 0;
}

3、1+22+33+…+999999999

#include <stdio.h>
int main()
{
	long i=0,j=0,t=0,sum=0;
	for(i=1;i<=9;i++)
	{
		t=0;
		for(j=1;j<=i;j++)
			t=t*10+i;
		sum+=t;
	}
	printf("%ld",sum);
	return 0;
}

4、6+66+666+…+666666666

#include <stdio.h>
int main()
{
	long i=0,t=0,sum=0;
	for(i=1;i<=9;i++)
	{
		t=t*10+6;
		sum+=t;
	}
	printf("%ld",sum);
	return 0;
}

5、1*2+2*3+3*4+…+20*21

#include <stdio.h>
int main()
{
	int i=0,sum=0;
	for(i=1;i<=20;i++)
		sum+=i*(i+1);
	printf("%d",sum);
	return 0;
}

6、1/2+2/3+3/4…9/10

#include <stdio.h>
int main()
{
	float i=0.0,sum=0.0;
	for(i=1.0;i<=9;i++)
		sum+=i/(i+1);
	printf("%f",sum);
	return 0;
}

7、1-100的和

#include <stdio.h>
int main()
{
	printf("%d",100*(1+100)/2);  //5050
	return 0;
}

三、统计

1、统计’a’-'z’出现的次数

#include <stdio.h>
int main()
{
	char s[100];
	int i=0,count=0;
	gets(s);
	while(s[i]!='\0')
	{
		if(s[i]>='a'&&s[i]<='z')
			count++;
		i++;
	}
	printf("%d",count);
	return 0;
} 

2、统计年龄在16-31岁的人数

#include <stdio.h>
int main()
{
	int a[16]={0},n=0,i=0,t=0;
    printf("请输入要输入的学生的个数:");
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&t);
		if(t>=16&&t<=31)
			a[t-16]++;
	}
	for(i=0;i<16;i++)
		printf("%d岁的人数:%d\n",i+16,a[i]);
	return 0;
}

3、统计分数在80-90分的人数

#include <stdio.h>
int main()
{
	int a[11]={0},n=0,i=0,t=0;
	printf("请输入要输入的学生的个数:");
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&t);
		if(t>=80&&t<=90)
			a[t-80]++;
	}
	for(i=0;i<11;i++)
		printf("%d分的人数:%d\n",i+80,a[i]);
	return 0;
}

四、数组

1、逆序存放

#include <stdio.h>
int main()
{
	char s[]="hello",t=0,*p=s,*q=s+sizeof(s)-2;
	while(p<q)
	{
		t=*p;
		*p++=*q;
		*q--=t;
	}
	puts(s);
	return 0;
} 

2、简单排序

#include <stdio.h>
int main()
{
	int a[10]={8,5,9,2,3,4,6,8,4,0},i=0,j=0,t=0;
	for(i=0;i<10-1;i++)
		for(j=i+1;j<10;j++)
			if(a[i]>a[j])
			{
				t=a[i];
				a[i]=a[j];
				a[j]=t;
			}
	for(i=0;i<10;i++)
		printf("%d ",a[i]);
	return 0;
}

3、选择排序

#include <stdio.h>
int main()
{
	int a[10]={8,5,9,2,3,4,6,8,4,0},i=0,j=0,t=0,flag=0;
	for(i=0;i<10-1;i++)
	{
		flag=i;
		for(j=i+1;j<10;j++)
			if(a[flag]>a[j])
				flag=j;
		if(flag!=i)
		{
			t=a[i];
			a[i]=a[flag]; 
			a[flag]=t;
		}
	}
	for(i=0;i<10;i++)
		printf("%d ",a[i]);
	return 0;
}

4、冒泡排序

#include <stdio.h>
int main()
{
	int a[10]={8,5,9,2,3,4,6,8,4,0},i=0,j=0,t=0;
	for(i=0;i<10-1;i++)
		for(j=0;j<10-i-1;j++)	
			if(a[j]>a[j+1])
			{
				t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
			}
	for(i=0;i<10;i++)
		printf("%d ",a[i]);
	return 0;
}

5、行列元素互换

#include <stdio.h>
int main()
{
	int a[3][3]={8,5,9,2,9,0,4,6,7},i=0,j=0,t=0;
	for(i=0;i<3;i++)
		for(j=i;j<3;j++)
		{
			t=a[i][j];
			a[i][j]=a[j][i];
			a[j][i]=t;
		}	
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
			printf("%d ",a[i][j]);
		printf("\n");
	}	
	return 0;
}

6、标记(例:将字符串的数字标记为T,字母标记为F)

#include <stdio.h>
int main()
{
	char s[]="12 xiaopeng yyds",a[100];
	int i=0;
	for(i=0;i<sizeof(s)-1;i++)
	{
		if(s[i]>='0'&&s[i]<='9')
         	 a[i]='T';
         else if(s[i]>='a'&&s[i]<='z'&&s[i]>='A'&&s[i]<='Z')
			a[i]='F';
	}
	for(i=0;i<sizeof(s)-1;i++) 
		printf("%c ",a[i]); 
	return 0;
}

7、数组左移、右移

#include <stdio.h>
int main()
{
	char s[]="123456",*p=s,*q=s+sizeof(s)-2,t=0;
	t=*p;
	while(p<q)
	{
			*p=*(p+1);
			p++;
	}
	*q=t;
	puts(s); //234561
	return 0;
}

8、n 个学生的信息(包括学生的姓名、m门的成绩、住址)存储在一个结构体 数组 s 中,现需设计一个函数,统计学生各科成绩平均分的总和,并通过函数返回。

#include <stdio.h>
struct STU{
	char name[20];
	float score[10];
	char address[20];
};
double avg_fun(struct STU s[],int n,int m) //n名学生 m科成绩 
{
	int i=0,j=0;
	double avg=0.0,sum=0.0;
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{	
			scanf("%f",&s[i].score[j]);
			avg+= s[i].score[j]/n;
		}
		sum+=avg;avg=0.0; 
	} 
	return sum;
}
int main()
{
	struct STU s[100];
	double avg=0.0;
	avg=avg_fun(s,3,3);
	printf("%lf",avg);
	return 0;
}

9、判断二维数组是否为对称数组

#include <stdio.h>
int main()
{
	int a[3][3]={8,5,9,2,9,0,4,6,7},i=0,j=0,flag=1;
	for(i=0;i<3;i++)
		for(j=i;j<3;j++)
			if(a[i][j]!=a[j][i])
			{
				flag=0;
				break;
			}	
	if(flag)
		printf("是对称数组");
	else
		printf("不是对称数组"); 
	return 0;
}

10、二维数组最大值及下标

#include <stdio.h>
int main()
{
	int a[3][3]={59,100,9,5,4,3,600,11,15};
	int i=0,j=0,imax=0,jmax=0;
	for(i=0;i<3;i++)
		for(j=0;j<3;j++)
			if(a[i][j]>a[imax][jmax])
				{
					imax=i;
					jmax=j;
				}
	printf("max=%d,行下标:%d,列下标:%d",a[imax][jmax],imax,jmax);
	return 0;
}

11、杨辉三角

#include <stdio.h>
int main()
{
	int a[10][10]={0},i=0,j=0;
	for(i=0;i<10;i++)
		a[i][0]=a[i][i]=1;
	for(i=2;i<10;i++)
		for(j=1;j<i;j++)
			a[i][j]=a[i-1][j-1]+a[i-1][j];
	for(i=0;i<10;i++)
	{
		for(j=0;j<=i;j++)
		{
			printf("%d  ",a[i][j]);
		}
		putchar('\n');
	}
	return 0;
}

12、二维数组存放在一维数组里

#include <stdio.h>
int main()
{
	int a[3][3]={59,100,9,5,4,3,600,11,15};
	int b[9],i=0,j=0,k=0;
	for(i=0;i<3;i++)
		for(j=0;j<3;j++)
			b[k++]=a[i][j];
	for(k=0;k<9;k++)
		printf("%d ",b[k]);
	return 0;
}

五、字符数组

1、基本:输入输出

#include <stdio.h>
int main()
{
	char s1[10],s2[10];
	scanf("%s",s1);
	printf("%s\n",s1);
	return 0;
}

#include <stdio.h>
int main()
{
	char s1[10],s2[10];
	gets(s2);
	puts(s2);	
	return 0;
}

2、字符串连接

#include <stdio.h>
void my_strcat(char *s1,char *s2) 
{
	while(*s1!='\0') 
		s1++;
	while(*s2!='\0')
		*s1++=*s2++;
	*s1='\0';
}
int main()
{
	char str1[50]="xiaopeng",str2[10]="yyds";
	my_strcat(str1,str2);
	puts(str1);  //xiaopengyyds
	return 0;
}

3、字符串复制

#include <stdio.h>
void my_strcpy(char *s1,char *s2) 
{
	while(*s2!='\0') 
		*s1++=*s2++;
	*s1='\0';
}
int main()
{
	char str1[50]="xiaopeng",str2[10]="yyds";
	my_strcpy(str1,str2);
	puts(str1);  //yyds
	return 0;
}

4、字符串比较

#include <stdio.h>
int my_strcmp(char *s1,char *s2) 
{
	while(*s1!='\0'&&*s2!='\0')
		if(*s1++!=*s2++)
			return *(s1-1)-*(s2-1);
	return 0;	
}
int main()
{
	char str1[50]="xiaopeng",str2[10]="yyds",result=0;
	result=my_strcmp(str1,str2);
	printf("%d",result); //-1
	return 0;
}

5、字符串有效长度

#include <stdio.h>
int my_strlen(char *s1) 
{
	int count=0;
	while(*s1++!='\0')
		count++;
	return count;	
}
int main()
{
	char str1[50]="xiaopeng",result=0;
	result=my_strlen(str1);
	printf("%d",result); //8
	return 0;
}

6、统计某类字符、删除某类字符(删除数字)

#include <stdio.h>
int main()
{
	char str1[50]="xia4345openg564365 yyds",*p,*q;
	for(p=q=str1;*p!='\0';p++)
		if(*p<'0'||*p>'9')
			*q++=*p;
	*q='\0';
	puts(str1); //xiaopeng yyds
	return 0;
}

7、回文字符串

#include <stdio.h>
int main()
{
	char str1[50]="xia4345openg564365 yyds",*p=str1,*q=str1;
	int flag=1;
	while(*q!='\0') 
		q++;
	q--;
	while(p<q)
		if(*p++!=*q--)
		{
			flag=0;break;
		}
	if(flag)
		printf("是回文字符串");
	else
		printf("不是回文字符串");
	return 0;
}

8、重点:子串在主串中出现的次数

#include <stdio.h>
int main()
{
	char str1[50]="abnbcababaabaab",str2[]="ab";
	char *p,*t1,*t2;
	int count=0;
	for(p=str1;*p!='\0';p++)
	{
		for(t1=p,t2=str2;*t2!='\0';t1++,t2++)
			if(*t1!=*t2) 
				break;
		if(*t2=='\0')
			count++;
	}
	printf("%d",count);	//5
	return 0;
}

9、请设计一个程序,其功能为:自左至右取出非空字符串a中的所有数字字符,将这些数字字符组成一个十进制整数并输出,并输出取出所有数字字符后的其他字符。例如:字符串a为"ch20an4gch12un 2ro3ad",程序输出:“2041223"和"changchun road”

#include <stdio.h>
int main()
{
	char str1[50]="xia4345openg565 yyds",*p,*q;
	int a=0;
	for(p=str1,q=str1;*p!='\0';p++)
		if(*p>='0'&&*p<='9')
			a=a*10+*p-'0';
		else
			*q++=*p;
	*q='\0'; //xiaopeng yyds
	puts(str1);
	printf("%d",a); //4345565
	return 0;
}

六、函数

1、编写自定义函数

(1)编写函数让三个数从大到小输出(关键:地址传递)
#include <stdio.h>
void my_sort(int *a,int *b,int *c)
{
	int t=0;
	if(*a<*b)
	{t=*a;*a=*b;*b=t;}
	if(*a<*c)
	{t=*a;*a=*c;*c=t;}
	if(*b<*c)
	{t=*b;*b=*c;*c=t;}
}
int main()
{
	int a=10,b=30,c=20;
	my_sort(&a,&b,&c);
	printf("%d %d %d",a,b,c);
	return 0;
}
(2)编写函数对数组进行排序(关键:实参:数组名和长度)
#include <stdio.h>
void my_sort(int a[],int n)
{
	int i=0,j=0,t=0;
	for(i=0;i<n-1;i++)
		for(j=0;j<n-i-1;j++)
			if(a[j]>a[j+1])
			{
				t=a[j];a[j]=a[j+1];a[j+1]=t;
			}	
}
int main()
{
	int a[50],n=0,i=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	my_sort(a,n);
	for(int i=0;i<n;i++)
		printf("%d ",a[i]);
	return 0;
}
(3)编写一个函数判断对称数组
#include <stdio.h>
int dc(int n)
{
	int i=0,j=0,flag=1;
	for(i=0;i<n&&flag;i++)
		for(j=i;j<n;j++)
			if(a[i][j]!=a[j[i]])
				flag=0;
	return flag;	
}
(4)编写一个函数求主串中子串的个数
#include <stdio.h>
int Fun(char *s1,char *s2)
{
	int count=0;
	char *t1,*t2;
	while(*s1)
	{
		for(t1=s1,t2=s2;*t2!='\0';t1++,t2++)
			if(*t1!=*t2)
				break;
		if(*t2=='\0')
			count++;
		s1++;
	}
	return count;	
}
int main()
{
	printf("%d",Fun("abababbbab","bab")); //3
	return 0;
}

2、递归函数

(1)递归求阶乘和
#include <stdio.h>
long Fun(int n)
{
	return n==1?1:n*Fun(n-1);	
}
int main()
{
	int a=0;
	long sum=0;
	scanf("%d",&a);
	for(int i=1;i<=a;i++)
		sum+=Fun(i);
	printf("%ld",sum); 
	return 0;
}
(2)递归求平方和
#include <stdio.h>
double Fun(int n)
{
	return n==1?1:n*n+Fun(n-1);
}
int main()
{
	printf("%.2lf",Fun(2));
	return 0;
}
(3)递归求x的n次方
#include <stdio.h>
double Fun(int x,int n)
{
	return n==0?1:x*Fun(x,n-1);
}
int main()
{
	printf("%.2lf",Fun(2,2));
	return 0;
}
(4)递归求斐波那契数列前n项
#include <stdio.h>
int Fun(int n)
{
	return n==1||n==2?1:Fun(n-1)+Fun(n-2);
}
int main()
{
	int n=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		printf("%d ",Fun(i));
	return 0;
}
(5)递归求杨辉三角前n行
#include <stdio.h>
int Fun(int i,int j)
{
	return i==j||j==1?1:Fun(i-1,j-1)+Fun(i-1,j);
}
int main()
{
	int n=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=i;j++)
			printf("%d ",Fun(i,j));
		putchar('\n');
	}
	return 0;
}
(6)递归求最大公约数
#include <stdio.h>
int Fun(int a,int b)
{
	int t=0;
	if(a<b)
	{
		t=a;a=b;b=t;
	}
	return a%b?Fun(b,a%b):b;
}
int main()
{
	int a=0,b=0;
	scanf("%d %d",&a,&b);
	printf("%d",Fun(a,b));
	return 0;
}

七、结构体

1、结构体求平均成绩

#include <stdio.h>
struct stu{
	char name[20];
	double score;
};
int main()
{
	struct stu a[30];
	int n=0,i=0;
	double avg=0.0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		gets(a[i].name);
		scanf("%lf",&a[i].score);
		avg+=a[i].score/n;
	}
	printf("%lf",avg);
	return 0;
}

2、结构体按某成员进行排序

#include <stdio.h>
struct stu{
	char name[20];
	int id;
	double score;
};
int main()
{
	struct stu a[30],t=0;
	int n=0,i=0,j=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		gets(a[i].name);
		scanf("%d%lf",&a[i].id,&a[i].score);
	}
	for(i=0;i<n-1;i++)
		for(j=i+1;j<n;j++)
			if(a[i].id>a[j].id)
			{
				t=a[i];a[i]=a[j];a[j]=t;
			}
	for(i=0;i<n;i++)
		printf("%s\t%d\t%lf\n",a[i].name,a[i].id,a[i].score);
	return 0;
}

3、结构体求最高分并输出该学生的所有信息

#include <stdio.h>
struct stu{
	char name[20];
	int id;
	double score;
};
int main()
{
	struct stu a[30],t;
	int n=0,i=0,imax=0;
	double max=0.0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		gets(a[i].name);
		scanf("%d%lf",&a[i].id,&a[i].score);
		if(a[i].score>max)
		{
			max=a[i].score;
			imax=i;
		}
	}
	printf("%s\t%d\t%lf\n",a[imax].name,a[imax].id,a[imax].score);
	return 0;
}

八、其他

1、可逆素数

#include <stdio.h>
int convert(int a)
{
	int t=0;
	do{
		t=t*10+a%10;
		a/=10;
	}while(a);
	return t;
}
int issushu(int b)
{
	for(int i=2;i<b/2;i++)
		if(b%i==0)
			return 0;
	return 1;
}
int Fun(int m,int n,int c[])
{
	int j=0;
	for(int i=m;i<=n;i++)
		if(issushu(i)&&issushu(convert(i)))
			c[j++]=i;
	return j;
}
int main()
{
	int m=0,n=0,a[100],w=0;
	scanf("%d%d",&m,&n);
	w=Fun(m,n,a);
	for(int i=0;i<w;i++)
	{
		printf("%d ",a[i]);
		if((i+1)%5==0)
			putchar('\n');
	}
	return 0;
}

2、已知数组a中的元素已按由小到大顺序排列,以下程序的功能是将输入的一个数插入数组a中,插入后,数组a中的元素仍然由小到大顺序排列

#include <stdio.h>
int main()
{
	int a[10],b=0,i=0,*p=a;
	for(i=0;i<9;i++)
		scanf("%d",p++);
	scanf("%d",&b);
	p--;
	while(b<*p)
		*(p+1)=*p--;
	*(p+1)=b;
	for(i=0;i<10;i++)
		printf("%d ",a[i]);
	return 0;
}

3、分段函数(if语句)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vMp7wt79-1653318358012)(G:\专升本\C语言\编程题(答案版)].assets\1648992808039.png)

#include <stdio.h>
int main()
{
	double y=0.0,x=0.0;
	scanf("%lf",&x);
	if(x<1)
		y=x;
	else if(x>=10)
		y=3*x-11;
	else
		y=2*x-1; 
	printf("%.2lf",y);
	return 0;
}

4、求e的近似值

#include <stdio.h>
double jc(int i)
{
	return i==1?1:i*jc(i-1);
}
int main()
{
	double e=1.0;
	int i=0,n=0;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		e+=1/jc(i);
	printf("%lf",e);
	return 0;
}

5、九九乘法表

#include <stdio.h>
int main()
{
	int i=0,j=0;
	for(i=1;i<=9;i++)
	{
		for(j=1;j<=i;j++)
			printf("%d*%d=%d\t",j,i,i*j);
		putchar('\n');
	}
	return 0;
}

6、输出倒三角

在这里插入图片描述

#include <stdio.h>
int main()
{
	int i=0,j=0,t=0;
	for(i=0;i<4;i++)
	{
		for(t=0;t<i;t++)
			printf(" ");
		for(j=0;j<4-i;j++)
			printf("* ");
		putchar('\n');
	} 
	return 0;
} 

7、猴子吃桃

/*
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。
到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?
*/
#include <stdio.h>
int fun(int n)
{
	return n==1?1:(fun(n-1)+1)*2;
}
int main()
{
	printf("%d",fun(3)); //10
	return 0;
} 

8、温度转换

/*
本题要求编写程序,计算华氏温度150°F对应的摄氏温度。计算公式:C=5×(F-32)/9,
式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
*/
#include <stdio.h>
int main()
{
	double hs=150;
	int c=0;
	c=5*(hs-32)/9;
	printf("%d",c);
	return 0;
} 

9、计算物体自由下落的距离

/*
一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10m/s^2 .
思路:利用物理公式H=1/2*g*t^2。
*/
#include <stdio.h>
int main()
{
	double h=0.0;
	h=10*3*3/2;
	printf("%lf",h);
	return 0;
} 
  • 17
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值