首页 > 编程语言 >第五章 循环结构程序设计

第五章 循环结构程序设计

时间:2024-08-24 13:51:36浏览次数:14  
标签:main int double x1 第五章 程序设计 include sum 循环

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


#include<stdio.h>
int main(){
	int sum=0;
	int i=1;
	do{
		sum+=i;
		i++;
	}while(i<=100);
	printf("%d\n",sum);
	return 0;
}
捐款


#include<stdio.h>
int main(){
	int sum=0;
	int i=1;
	int money=0;
	for(i=1;i<=1000;i++){
		printf("please enter money="); 
		scanf("%d",&money);
		sum+=money;
		if(sum>=100000){
			break;
		} 	
	}
	printf("人数=%d\n",i);
	printf("总计=%d\n",sum);
	printf("%d\n",sum/i);
	return 0;
}
不能被3整除
#include<stdio.h>
int main(){
	int i=100;
	for(i=100;i<=200;i++){
		if(i%3==0){
			continue;
		}else{
			printf("%d ",i);
		}
	}
	return 0;
}
打印
#include<stdio.h>
int main(){
	int i=1;
	int j=1;
	for(i=1;i<=4;i++){
		for(j=1;j<=5;j++){
			printf("%2d ",i*j);
		}
		printf("\n");
	}
	return 0;
}
求π
#include<stdio.h>
#include<math.h>
int main(){
	double num=1;
	double sum=0;
	double mu=1;
	int sign=1;
	while(fabs(num)>=1e-6){
		sum+=num;
		mu+=2;
		sign=-sign;
		num=sign/mu;
		
	}
	printf("π=%10.8lf",sum*4);
	return 0;
}
100~200之内的素数
#include<stdio.h>
#include<math.h>

int panduan(int n){
		int j=2;
		for(j=2;j<=(int)sqrt(n);j++){
			if(n%j==0){
				return 0;
			}
		}
		return 1;
}
int main(){
	int i=100;
	for(i=101;i<=200;i+=2){
		if(panduan(i)){
			printf("%d ",i);
	}
	} 
	return 0;
}
习题
求公约数和公倍数
#include<stdio.h>

int gcd(int x,int y){
	return y==0?x:gcd(y,x%y);
}
int main(){
	int m,n;
	scanf("%d %d",&m,&n);
	int num=gcd(m,n);
	int lcm=m*n/num;
	printf("最大公约数为%d\n",num);
	printf("最小公倍数为%d\n",lcm);
	return 0;
}
求字符内容
#include<stdio.h>


int main(){
	char c=0;
	int letters=0,space=0,digit=0,other=0;
	printf("请输入一行字符\n");
	while((c=getchar())!='\n'){
		if(c>='a'&&c<='z'||c>='A'&&c<='z'){
			letters++; 
		}else if(c==' '){
			space++;
		}else if(c>='0'&&c<='9'){
			digit++;
		}else{
			other++;
		}
	} 
	printf("此字符有英文字母:%d个\n空格:%d个\n数字:%d个\n其他字符:%d个\n",letters,space,digit,other);
	return 0;
}
求Sn
#include<stdio.h>


int main(){
	int a,n;//a为一个数字 n表示a的位数
	int num=0;
	scanf("%d %d",&a,&n);
	int sum=0;
	int i=0;
	for(i=0;i<n;i++){
		num=a+num*10;
		sum+=num;
	} 
	printf("Sn=%d\n",sum); 
	return 0;
}
1~20
#include<stdio.h>


int main(){
	double num=1;
	double sum=0;
	int i=0;
	for(i=1;i<=20;i++){
		num*=i;
		sum+=num;
	} 
	printf("1~20的阶乘%22.15e\n",sum); 
	return 0;
}
奇怪的题
#include<stdio.h>


int main(){
	double k1;
	double k2;
	double k3;
	int i=0;
	for(i=1;i<=100;i++){
		k1+=i;
	} 
	for(i=1;i<=50;i++){
		k2+=(i*i);
	}
	for(i=1;i<=10;i++){
		k3+=(1.0/i);
	}
	printf("%lf\n",k1+k2+k3);
	return 0;
}
水仙花数
#include<stdio.h>


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


int main(){
	int i=1;
	int arr[1000];
	for(i=1;i<=1000;i++){
		int j=1;
		int sum=0;
		int flag=0;	
		for(j=1;j<i;j++){
			if(i%j==0){
				sum+=j;
				arr[flag]=j;
				flag++;
			}
		}
		if(sum==i){
			int mm=0;
			printf("%d:",i);
			for(mm=0;mm<flag;mm++){
				printf("%d ",arr[mm]);
			}
			printf("\n");
		} 
	}
	return 0;
}
题10

n1=2 n2=1    n3=n1+n2 n4=n1   

#include<stdio.h>


int main(){
	int i=1;
	double c=2,cc=1,flag,sum=0;
	sum+=c/cc;
	for(i=2;i<=20;i++){
		flag=c;
		c+=cc;
		cc=flag;
		sum+=c/cc;
	}
	printf("%16.10lf",sum);
	return 0;
}
球的下落
#include<stdio.h>


int main(){
	int i=1;
	double length=100;
	double sum=100;
	length/=2;//反弹为一半 
	while(i<10){
		sum+=length;//球升起
		sum+=length;//球落下 
		i++; 
		length/=2;//反弹为一半 
	} 
	printf("第%d次落下时共经过%lf米\n",i,sum);
	printf("第%d次落下时反弹为%lf米\n",i,length);
	return 0;
}
猴子吃桃
#include<stdio.h>


int main(){
	int i=1,tao=1,x1,x2=1;
	for(i=1;i<=9;i++){
		x1=(x2+1)*2;
		tao+=x1; 
		x2=x1; 
	}
	printf("一共有%d个桃子",tao);
	printf("第一天吃了%d个桃子",x1); 
	return 0;
}
迭代法
#include<stdio.h>
#include<math.h>
int main(){
	double x1,x2;
	int a;
	scanf("%d",&a);
	x2=a;
	x1=0.5*(x2+a/x2);
	do{
		x2=x1;
		x1=0.5*(x2+a/x2);
	}while(fabs(x1-x2)>=1e-5);	
	printf("%d %lf\n",a,x1); 
	return 0;
}
牛顿迭代法 
#include<stdio.h>
#include<math.h>
int main(){
	double x1,x0=1.2,f,f1;
	do{
		x1=x0;
		f=2*(x1*x1*x1)-4*(x1*x1)+3*x1-6;
		f1=6*(x1*x1)-8*x1+3;
		x0= x1-(f/f1);
	}while(fabs(x0-x1)>=1e-5);
	printf("%.2lf",x0);
	return 0;
}

 

打印菱形
#include<stdio.h>
int main(){
	int hang;
	scanf("%d",&hang);
	int i,j;
	for(i=1;i<=hang/2;i++){
		for(j=1;j<=(hang-(2*i-1))/2;j++){
			printf(" ");
		}
		for(j=1;j<=2*i-1;j++){
			printf("*");
		} 
		printf("\n");
	}
		for(i=hang/2+1;i>=1;i--){
		for(j=1;j<=(hang-(2*i-1))/2;j++){
			printf(" ");
		}
		for(j=1;j<=2*i-1;j++){
			printf("*");
		} 
		printf("\n");
	}
	return 0;
}
比赛
#include<stdio.h>
int main(){
	int i,j,n;
	for(i='x';i<='z';i++){
		for(j='x';j<='z';j++){
			for(n='x';n<='z';n++){
				if(n=='y'&&i!='x'&&i!=j&&i!=n&&j!=n){
					printf("A:%c B:%c C:%c\n",i,j,n);
				}
			}
		}
	}
	return 0;
}

标签:main,int,double,x1,第五章,程序设计,include,sum,循环
From: https://blog.csdn.net/kid_sup/article/details/141429056

相关文章

  • C++学习笔记----4、用C++进行程序设计(五)---- 非复合与继承关系
        在考虑类之间到底是什么关系时,要首先考虑一下是否真的有关系。不要搞有罪推定,直接问犯了什么罪,要先看是否是犯罪行为。不要让你对面向对象的设计的热情转变为大量不需要的类或者继承的类的关系中。    有一个大家都容易陷入的怪圈就是在现实世界中很明显......
  • 谭浩强c程序设计例题+习题 第六章 利用数组处理批量数据
    第六章利用数组处理批量数据文章目录第六章利用数组处理批量数据例6.1对10个数组元素依次赋值为0,1,2,3...,9并逆序输出例6.2用数组处理Fibonacci数列问题例6.3有10个地区的面积,要求对它们按照从小到大顺序排序例6.4将一个二维数组行和列互换存到零一个二维数组中......
  • 数据结构day04(队列 Queue 循环队列、链式队列)
    目录【1】队列Queue1》队列的定义 2》循环队列3》链式队列 【1】队列Queue1》队列的定义队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(FirstInFirstOut)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端......
  • 程序设计语言基础-有限自动机+正规式
    不确定的有限自动机NFA该状态机在任何一个状态,基于输入的字符都不能做成一个确定的状态转换,这里分为两种状况。对于一个输入,它有两个状态可以转换。存在ε的情况,即没有任何字符输入的情况下,NFA可以从一个状态迁移到另一个状态。确定的有限自动机DFA该状态机在任何一个状......
  • 程序设计语言基础-编译过程概述+表达式
    程序设计语言分类面向机器的语言由0、1组成的机器指令序列或汇编语言(如:moveax,bx),可读性差,难以修改和维护。面向应用程序的语言如,Java、C、C++、Python、Delphi、PASCAL等,更接近人类语言,提高程序设计效率。程序设计语言分类生成目标代码过程编译程序词法分析输入源程......
  • Java语言程序设计——篇十六
           ......
  • 《数据资产管理核心技术与应用》读书笔记-第五章:数据服务(一)
    《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,全书共分10章,第1章主要让读者认识数据资产,了解数据资产相关的基础概念,以及数据资产的发展情况。第2~8章主要介绍大数据时代数据资产管理所涉及的核心技术,内容包括元数据的采集与存储、数据血缘、数据质量、数据监控与......
  • 从零开始学习C++之循环
    本文讲解C++中循环的使用。C++中较常用的两种循环为for循环和while循环。for循环for循环主要用于实现两个区间中间的枚举。例如:从\(1\sim100\)中输出所有数就能使用for循环解决。这是for循环标准格式:/*for(变量类型变量名=左区间;循环退出条件(如:i<=......
  • [小白入门]一文掌握C/C++中数组和循环结合(堵车问题、红绿灯问题)
    1.堵车问题假如现在给定从出发地到目的地的道路条数和每条路上的车辆情况为:第一条路第二条路第三条路第四条路第五条路第六条路90705278108120且车辆数大于50为轻度拥堵;大于70为中度拥堵;大于90为重度拥堵。那么如何存储这些数据?---很显然要用数......
  • 南京理工大学C++程序设计基础期末考试上机测试题组3答案详细解析
    角谷步数(100分)任意的正整数,比如5,我们从它开始,如下规则计算:如果是偶数,则除以2,如果是奇数,则乘以3再加1。如此循环,最终必会得到“1”!比如5的处理过程是:5168421一个正整数经过多少步才能变成1,称为角谷步数。对于5而言,步数也是5;对于1,步数为0。输入一个整数n(1<n<300)......