例子
求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