C语言·常见作业题(一)

目录

1. 求 1~100 中 9 的倍数及倍数和

2. 求 1+(1+2)+...+(1+2+...+n) 的和 

3. 求 1+(-1/2)+(1/3)+...+(-1/(100-1))+(1/100) 的值

4. 输出下列图案

4.1 星号直角三角形(一)

4.2 星号直角三角形(二)

4.3 正立等腰三角形

4.4 倒立等腰三角形

5. 求:1!+2!+......+n!(阶层)的值

6. 求2的0次方 ~ 2的63次方的和

7.  鸡兔同笼有 J个头,L只脚,求鸡兔各有多少

8. 十个评委打分,去掉一个最高分和一个最低分,求剩下的平均分

9. 计算在区间1~n的所有整数中,数字 x(0≤x≤9)共出现了多少次

10. 数字反转 

10.1 整数数字反转得到一个新数

10.2 浮点数数字反转得到一个新数

11. 输入两个正整数a和b,输出a、b之间的素数、素数个数,并将素数求和  


C语言·常见作业题(一)_第1张图片

1. 求 1~100 中 9 的倍数及倍数和

注意:

  • 如果需要改变范围,则改动(i<=100)这个关系表达式。
  • 如果需要改变所求倍数的数值,则改动(i%9==0)这个条件表达式。
//求 1~100中9的倍数及倍数和
#include 
int main()
{
	int j=0,k=0;
	int i;
	for(i=1;i<=100;i++)
	{
		if(i%9==0){
			printf("%d\n",i);
			j+=i;
			k++;
		}
	}
	printf("1~100中9的倍数有:%d个\n",k);
	printf("1~100中9的所有倍数的和为:%d\n",j);
	return 0;
}

运行结果:

C语言·常见作业题(一)_第2张图片

2. 求 1+(1+2)+...+(1+2+...+n) 的和 

注意:

  • n的值通过键盘输入,每运行一次程序就重新输入一次n的值。
//求 1+(1+2)+...+(1+2+...+n) 的和 
#include       
int main()
{
	int j=0,sum=0;
	int i,xin;
	printf("请输入n的值:");
	scanf("%d",&xin);
	for(i=1;i<=xin;i++){
	    j+=i;
		sum+=j;
	}	
	printf("1+(1+2)+...+(1+2+...+%d)的和为:%d\n",xin,sum);
	return 0;
}

运行结果: 

C语言·常见作业题(一)_第3张图片

3. 求 1+(-1/2)+(1/3)+...+(-1/(100-1))+(1/100) 的值

注意:

  • 如果需要改变范围,则改动(i<=100)这个关系表达式。
  • 仔细看题,是分数加减求值。
//求 1+(-1/2)+(1/3)+...+(-1/(100-1))+(1/100) 的值
#include       
int main()
{
	int i;
	double k=0.0;
  	double j,o;
	for(i=1;i<=100;i++){
		if(i%2==0){
			j=(-1.0)/i;
			k+=j;
		}
		else{
			o=1.0/i;
			k+=o;
		}
    }
	printf("1+(-1/2)+(1/3)+...+(-1/(100-1))+(1/100) 的值为:\n%f",k);
    return 0;
}

//求 1+(-1/2)+(1/3)+...+(-1/(100-1))+(1/100) 的值
#include
int main()
{
	double i;
    double sum=0, k=1;
    for( i=1;i<=100;i++){
        sum+=k*1.0/i;
        k=-k;
    }
    printf("1+(-1/2)+(1/3)+...+(-1/(100-1))+(1/100) 的值为:\n%f",sum);
    return 0;
}

运行结果:

C语言·常见作业题(一)_第4张图片

4. 输出下列图案

注意:

  • 如果需要改变图案的组成符号,则改动("*")这个输出语句。

4.1 星号直角三角形(一)

C语言·常见作业题(一)_第5张图片

#include
int main()
{
	int i,j,k,l;
	printf("请输入三角形的星号有几行:"); 
	scanf("%d",&l);
	for(i=0;i

运行结果:

C语言·常见作业题(一)_第6张图片

4.2 星号直角三角形(二)

C语言·常见作业题(一)_第7张图片

#include
int main()
{
	int i,j,k,l;
	printf("请输入三角形的星号有几行:"); 
	scanf("%d",&l);
	for(i=0;i

 运行结果:

C语言·常见作业题(一)_第8张图片

4.3 正立等腰三角形

C语言·常见作业题(一)_第9张图片

#include
int main()
{
	int i,j,k;
	for(i=0;i<9;i++){
		for(j=0;j<(9-i);j++)
			printf(" ");
		for(k=0;k<(2*i+1);k++)
			printf("*");
		printf("\n");
	}
	return 0;
} 

运行结果:

C语言·常见作业题(一)_第10张图片

4.4 倒立等腰三角形

C语言·常见作业题(一)_第11张图片

#include
int main()
{
	int i,j,k;
	for(i=0;i<8;i++){
		for(k=0;k<(i+1);k++)
			printf(" ");	
		for(j=1;j<(2*(8-i));j++)
			printf("*");
		printf("\n");
	}
	return 0;
} 

运行结果:

C语言·常见作业题(一)_第12张图片

5. 求:1!+2!+......+n!(阶层)的值

注意:

  • n的值通过键盘输入,每运行一次程序就重新输入一次n的值。
#include       
int main()
{
	unsigned long long j=1,sum=0;
	unsigned long long i,xin;
	printf("请输入n的值: "); 
	scanf("%d",&xin);
	for(i=1;i<=xin;i++){
	    j*=i;
		sum+=j;
	}	
	printf("1!+2!+......+n!的值为: %llu\n",sum);
	return 0;
}

运行结果:

C语言·常见作业题(一)_第13张图片

6. 求2的0次方 ~ 2的63次方的和

注意:

  • 最高2的63次方,因为计算机的最高位数是64位。
  • 如果需要改动范围,则改动(i<=63)这个关系表达式。
  • 可以将程序微改成从键盘输入一个变量的值来控制范围。
#include       
int main()
{
	unsigned long long int i;
	unsigned long long int l=1,j=1;
	for(i=1;i<=63;i++){
		j=2*j;
		l+=j;
		}
	printf("2的0次方~2的63次方的和为: %llu\n",l);
	return 0;
}

 运行结果: 

C语言·常见作业题(一)_第14张图片

7.  鸡兔同笼有 J个头,L只脚,求鸡兔各有多少

注意:

  • L的值为双数,正常情况下没有单只脚的鸡和兔。
  • 2*J<=L,否则会出现负数。
#include       
int main()
{
	int i,j,l;
	printf("请输入笼子有多少个头:");
	scanf("%d",&j);
	printf("请输入笼子有多少只脚:");
	scanf("%d",&l);	
	for(i=0;i<=j;i++){
		if (i*2+(j-i)*4==l){
			break;
		}
	}
	printf("鸡有%d只,兔有%d只",i,j-i);
	return 0;
}

运行结果:

C语言·常见作业题(一)_第15张图片

8. 十个评委打分,去掉一个最高分和一个最低分,求剩下的平均分

注意:

  • 这里每个评委打的分不允许相同。
  • 输入的10个分数均为整数。
#include       
int main()
{
	double xin;
	int max=0;
	int i,j,k;
	printf("请输入选手所得分数:\n");
	scanf("%d\n",&j);
	xin=j;
	for(k=1;k<=9;k++){
		scanf("%d",&i);
		xin=xin+i;	
		if(j=max){
				max=j;			
			}
			j=i;
		}
	}
	xin=(xin-max-j)*1.0/10;
	printf("平均分数为:\t%.2f\n最高分为:  %d\t\t最低分为:  %d",xin,max,j);
	return 0;
}

运行结果: 

C语言·常见作业题(一)_第16张图片

9. 计算在区间1~n的所有整数中,数字 x(0≤x≤9)共出现了多少次

注意:

  • n和x的值都是通过键盘输入,每运行一次程序就重新输入n和x的值。
#include
int main()
{
	int i,j,k,a,b,c=0;
	printf("请输入n的值:");
	scanf("%d",&i);	
	printf("请输入x的值:");	
	scanf("%d",&j);
	for(a=1;a<=i;a++){
		b=a;
		while(b!=0){
			k=b%10; 
			b=b/10;
			if(k==j){
				c++;
			}
		}
	}
	printf("数字%d一共出现了%d次",j,c);
	return 0;
}

运行结果: 

C语言·常见作业题(一)_第17张图片

10. 数字反转 

注意:

  • 数字反转,不改变正负。

10.1 整数数字反转得到一个新数

#include
int main(){

		int n,y=0;
		printf("请输入一个整数:\n");
		scanf("%d",&n);
		while(n){
			y=y*10+n%10;
			n=n/10;
		}
		printf("%d\n",y);
	return 0;
} 

运行结果:

C语言·常见作业题(一)_第18张图片

10.2 浮点数数字反转得到一个新数

#include
int main()
{
	int n,f,s;
	printf("请输入一个浮点数:\n");
	scanf("%d.%d",&n,&f);   			// n为整数部分,f为小数部分   注意中间有小数点 
	while(n){
		s=s*10+n%10;
		n=n/10;
	}
	printf("%d.%d",f,s);
	return 0;
}

运行结果:

C语言·常见作业题(一)_第19张图片

11. 输入两个正整数a和b,输出a、b之间的素数、素数个数,并将素数求和  

#include                 //头文件
#include 
int main()
{
	int a, b, n, i, f,k = 0,sum=0;
	printf("请输入a和b的值\n");
	scanf("%d %d\n", &a, &b);
	printf("a、b之间的素数有:\n");
	for (n = a; n <= b; n++) 
	{
	f = 1;
	for (i = 2; i <= sqrt(n); i++)			
	    if (n % i == 0){
				f = 0;
				break;
		}
		if (f == 1){
			k++;
			sum+=n;
			printf("%d\t",n);	
		}
	}
	printf("\n\na和b之间的素数个数:%d", k);
	printf("\na和b之间素数的和:%d", sum);
	return 0; 
}

运行结果:

C语言·常见作业题(一)_第20张图片

麻烦各位看官,给个免费的小星星

你可能感兴趣的:(C语言学习,c语言,学习,笔记,学习方法)