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之间的素数、素数个数,并将素数求和  


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

注意:

  • 如果需要改变范围,则改动(i<=100)这个关系表达式。
  • 如果需要改变所求倍数的数值,则改动(i%9==0)这个条件表达式。
//求 1~100中9的倍数及倍数和
#include<stdio.h> 
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;
}

运行结果:

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

注意:

  • n的值通过键盘输入,每运行一次程序就重新输入一次n的值。
//求 1+(1+2)+...+(1+2+...+n) 的和 
#include<stdio.h>       
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;
}

运行结果: 

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

注意:

  • 如果需要改变范围,则改动(i<=100)这个关系表达式。
  • 仔细看题,是分数加减求值。
//求 1+(-1/2)+(1/3)+...+(-1/(100-1))+(1/100) 的值
#include<stdio.h>       
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<stdio.h>
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;
}

运行结果:

4. 输出下列图案

注意:

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

4.1 星号直角三角形(一)

#include<stdio.h>
int main()
{
	int i,j,k,l;
	printf("请输入三角形的星号有几行:"); 
	scanf("%d",&l);
	for(i=0;i<l;i++){
		for(j=0;j<(l-i);j++)
			printf(" ");
		for(k=0;k<(i+1);k++)
			printf("*");
		printf("\n");
	}
	return 0;
} 

运行结果:

4.2 星号直角三角形(二)

#include<stdio.h>
int main()
{
	int i,j,k,l;
	printf("请输入三角形的星号有几行:"); 
	scanf("%d",&l);
	for(i=0;i<l;i++){
		for(k=1;k<(i+1);k++)
			printf(" ");	
		for(j=0;j<(l-i);j++)
			printf("*");
		printf("\n");
	}
	return 0;
} 

 运行结果:

4.3 正立等腰三角形

#include<stdio.h>
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;
} 

运行结果:

4.4 倒立等腰三角形

#include<stdio.h>
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;
} 

运行结果:

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

注意:

  • n的值通过键盘输入,每运行一次程序就重新输入一次n的值。
#include<stdio.h>       
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;
}

运行结果:

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

注意:

  • 最高2的63次方,因为计算机的最高位数是64位。
  • 如果需要改动范围,则改动(i<=63)这个关系表达式。
  • 可以将程序微改成从键盘输入一个变量的值来控制范围。
#include<stdio.h>       
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;
}

 运行结果: 

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

注意:

  • L的值为双数,正常情况下没有单只脚的鸡和兔。
  • 2*J<=L,否则会出现负数。
#include<stdio.h>       
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;
}

运行结果:

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

注意:

  • 这里每个评委打的分不允许相同。
  • 输入的10个分数均为整数。
#include<stdio.h>       
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<i){
			if (max<i){
				max=i;
			}
		}
		else{
			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;
}

运行结果: 

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

注意:

  • n和x的值都是通过键盘输入,每运行一次程序就重新输入n和x的值。
#include<stdio.h>
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;
}

运行结果: 

10. 数字反转 

注意:

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

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

#include<stdio.h>
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;
} 

运行结果:

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

#include<stdio.h>
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;
}

运行结果:

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

#include <stdio.h>                //头文件
#include <math.h>
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; 
}

运行结果:

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

相关推荐

  1. C语言作业 12.8

    2023-12-05 22:56:02       52 阅读
  2. C语言作业 12.14

    2023-12-05 22:56:02       64 阅读
  3. c语言常见错误

    2023-12-05 22:56:02       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 22:56:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 22:56:02       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 22:56:02       87 阅读
  4. Python语言-面向对象

    2023-12-05 22:56:02       96 阅读

热门阅读

  1. new Promise用法

    2023-12-05 22:56:02       48 阅读
  2. 【数据库连接池】01:连接池初始化

    2023-12-05 22:56:02       58 阅读
  3. Go查询Elasticsearch

    2023-12-05 22:56:02       62 阅读
  4. Python 3 使用 write()、writelines() 函数写入文件

    2023-12-05 22:56:02       54 阅读
  5. ClickHouse:真正的OLAP列式DBMS

    2023-12-05 22:56:02       65 阅读
  6. npm私仓 verdaccio搭建 & 发布到私仓 使用

    2023-12-05 22:56:02       45 阅读
  7. ElasticSearch之Force merge API

    2023-12-05 22:56:02       58 阅读
  8. Git多库多账号本地SSH连接配置方法

    2023-12-05 22:56:02       66 阅读
  9. npm run build打包jquery项目

    2023-12-05 22:56:02       52 阅读
  10. macOS/Ubuntu - ftp 工具

    2023-12-05 22:56:02       288 阅读
  11. Python与ArcGIS系列(十三)UpdateCursor方法

    2023-12-05 22:56:02       57 阅读
  12. Python与ArcGIS系列(十二)InsertCursor方法

    2023-12-05 22:56:02       50 阅读
  13. golang 集成logrus日志框架

    2023-12-05 22:56:02       57 阅读
  14. tcexam 本地容器化搭建

    2023-12-05 22:56:02       67 阅读