1.计算1+2+3+......+100的和
#include<stdio.h> int main() { int i,sum=0; for(i=1;i<=100;i++) { sum=sum+i; } printf("sum=%d\n",sum); return 0; }
2.求1+2+3+.....+n的和,n的值由键盘输入
#include<stdio.h> int main() { int i,n,sum=0; printf("请输入n的值:"); scanf("%d",&n); for(i=1;i<=n;i++) { sum=sum+i; } printf("sum=%d\n",sum); return 0; }
3.求下列式子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出
#include<stdio.h> void main() { float sum=0.0,t,s=1; int i; for(i=1;i<=100;i++) { t=s/i; sum=sum+t; s=-s; } printf("1-1/2+1/3-1/4+……+1/99-1/100=%g\n",sum); }
4.求1!+2!+3!+……+10!,将结果输出
#include<stdio.h> //头文件 标准输入输出 int main() //void 空的 在这里是无函数类型,无返回值 { float s=0,t=1; //带小数点的有正负号的浮点型,并赋了初始值 int n; //整形的,带符号的 for(n=1;n<=10;n++)//循环20次 { t=t*n; //t=1//t=1*2//t=2*3//t=6*4 s=s+t; //s=1+2+6 } printf("1!+2!+3!+……+10!=%e\n",s); return 0; }
5.键盘输入三个整数,求这3个整数的最大值
#include<stdio.h> int main() { int a,b,c,max; printf("请输入3个整数:"); scanf("%d%d%d",&a,&b,&c); max=a; //假设a是最大值 if(max<b) { max=b; } if(max<c) { max=c; } printf("max=%d\n",max); return 0; }
6.打印出100~999之间的所有水仙花数。水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
#include<stdio.h> int main() { int i,j,k,n; printf("100~999之间的所有水仙花数 are:\n"); for(n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) { printf("%d ",n); } } printf("\n"); return 0; }
7.我有1000块钱我想买100只鸡,市场上公鸡50块一只,母鸡30块一只,小鸡10块钱3只,问题我该如何去购买?列出所有购买方案(使用for循环套用的方式)
#include<stdio.h> int main() { int a,b,c; for(a=1;a<20;a++) { for(b=1;b<33;b++) { for(c=0;c<100;c++,c++,c++)//循环套用,遍历所有方案 { if((a+b+c==100) && (a*50+b*30+c*10/3.0==1000)) { printf("%d只公鸡%d只母鸡%d只小鸡\n",a,b,c); } } } } return 0; }
8.输入三角形的三边a,b,c,判断a,b,c,能否构成三角形,何种类型的三角形:等腰、等边、直角、等腰直角、一般三角形
#include<stdio.h> int main() { float a,b,c; printf("请输入三角形边长:\n"); scanf("%f%f%f",&a,&b,&c); if((a-b>=c)||(b-c>=a)||(c-a>=b)) { printf("不能够成三角形\n"); } else if ((a*a+b*b==c*c)||(b*b+c*c==a*a)||(c*c+a*a==b*b)) { if ((a==b)||(b==c)||(c==a)) { printf("等腰直角三角形\n"); } else { printf("直角三角形\n"); } } else if ((a==b)&&(b==c)) { printf("等边三角形\n"); } else if ((a==b)&&(b!=c)||(c==b)&&(b!=a)||(a==c)&&(c!=a)) { printf("等腰三角形\n"); } else { printf("一般三角形\n"); } return 0; }
9.输入年号,计算这一年的2月份的天数,将结果输出
#include<stdio.h> int main() { int year; printf("请输入年份:\n"); scanf("%d",&year); if(year%400==0 ||(year%4==0 && year%100!=0)) { printf("%d年的2月有29天",year); } else { printf("%d年的2月有28天",year); } return 0; }
10.输入年月,判断这个月有几天?
#include<stdio.h> int main() { int year,mouth,day; printf("请输入年月份:"); scanf("%d%d",&year,&mouth); switch(mouth) { case 2:day=28; if(year%400==0 || (year%4==0 && year%100!=0)) { day=29; } break; case 4: case 6: case 9: case 11:day=30;break; default:day=31;break; } printf("%d年%d月有%d天\n",year,mouth,day); return 0; }
11.编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词。例如:1转换成Monday,7转换成Sunday
#include<stdio.h> int main() { int a; printf("输入一个整数:\n"); scanf("%d",&a); switch(a) { case 1:printf("Monday\n");break; case 2:printf("Tuesday\n");break; case 3:printf("Wendesday\n");break; case 4:printf("Thursday\n");break; case 5:printf("Friday\n");break; case 6:printf("Saturday\n");break; case 7:printf("Sunday\n");break; default:printf("错误\n");break; } return 0; }
12.输入奖金数a,计算并输出税率、应缴税款和实得奖金数。
3000以下不需要交税,3000~4000税率1%,4000~5000税率是2%,5000~10000以上是3%,10000以上5%
#include<stdio.h> int main() { int a,n; float r,t,s; printf("请输入奖金数:\n"); scanf("%d",&a); n=a/1000; switch(n) { case 0: case 1: case 2:r=0.01;break; case 3: case 4:r=0.02;break; case 5: case 6: case 7: case 8: case 9:r=0.03;break; default:r=0.05;break; } printf("税率:%7.2f\n",r); printf("税款:%7.2f\n",a*r); printf("实得奖金:%7.2f\n",a-a*r); return 0; }
13.编写程序,输入两个整数,和+、-、*、/之中的任意一个运算符,输出计算结果
#include<stdio.h> int main() { float a,b; char c; printf("请输入一个运算符:\n"); scanf("%c",&c); printf("请输入两个整数:\n"); scanf("%d,%d",&a,&b); switch(c) { case'+':printf("%f\n",a+b);break; case'-':printf("%f\n",a-b);break; case'*':printf("%f\n",a*b);break; case'/':printf("%f\n",a/b);break; default:printf("错误"); } return 0; }
14.编程计算:1*2*3+3*4*5+……+99*100*101的值
#include<stdio.h> int main() { int i,j,k,sum=0; for(i=1,j=2,k=3;i<100,j<101,k<102;i+=2,j+=2,k+=2) { sum=sum+i*j*k; } printf("%d\n",sum); return 0; }
15.输入一个正整数求出它是几位数;输出原数和位数
#include<stdio.h> int main() { unsigned int n,i=0,sum; printf("请输入一个正整数:"); scanf("%d",&n); sum=n; while(n>0) { n=n/10; i++; } printf("原数:%d\n",sum); printf("位数:%d\n",i); return 0; }
16.输入一个正整数求出它是几位数;输出原数、逆序和位数
#include<stdio.h> int main() { unsigned int n,i=0,sum,temp=0; printf("请输入一个正整数:"); scanf("%d",&n); sum=n; while(n>0) { temp=temp*10+n%10; n=n/10; i++; } printf("原数:%d\n",sum); printf("位数:%d\n",i); printf("逆序:%d\n",temp); return 0; }
17.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程
#include <stdio.h> void main() { int a=1020,c=0; do { a=a/2-2; c++; }while(a!=0); printf("c=%d",c); }
18.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少
#include <stdio.h> #define uchar unsigned char #define uint unsigned int int main() { uchar day,i; uint s=0,j=1,k=0; printf("请输入第几天剩下一个桃子!回车结束!\n"); scanf("%d",&day); //输入第几天剩下一个桃子 if(day==1) { printf("第一天共有桃子1个!\n"); } else { for(i=1;i<day;i++) { s=(j+1)*2; //计算公式 从最后一天算起,最后一天1个,前一天个数为后一天个数加一再乘2 j=s; } printf("第一天共有桃子%d个!\n",s); } }
19.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少
#include<stdio.h> #define uchar unsigned char #define uint unsigned int int main() { uint i,temp=1,n=1; uint mouth,sum; printf("请输入月份!回车结束!\n"); scanf("%d",&mouth); //输入月份 if(mouth<2) { printf("一共有2只兔子\n"); return 0; } for(i=3;i<=mouth;i++) { sum=n+temp; //sum为本个月的总数 n=temp; //n为上上个月总数 temp=sum; //temp为上个月总数 } printf("一共有%d只兔子\n",sum*2); return 0; }
20.求Sn=a+aa+aaa+…+aa…a之值,n,a由键盘输入
#include<stdio.h> int main() { int a,n,i=1,sn=0,tn=0; printf("a,n=:"); scanf("%d,%d",&a,&n); while(i<=n) { tn=tn+a; sn=sn+tn; a=a*10; ++i; } printf("a+aa+aaa+…+aa…a=%d\n",sn); return 0; }
21.打印一个5*5的图形(原样打印)
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
#include<stdio.h> int main() { int i,j; for(j=0;j<5;j++) { for(i=0;i<5;i++) { printf("* "); } printf("\n"); } return 0; }
22.画实心圆
#include<stdio.h> void main() { char i,j,k; for(j=0;j<4;j++) { for(i=0;i<3-j;i++) { printf(" "); } for(i=0;i<12+2*j;i++) { printf("*"); } printf("\n"); } for(i=0;i<18;i++) { printf("*"); } printf("\n"); for(j=0;j<4;j++) { for(i=0;i<j;i++) { printf(" "); } for(i=0;i<18-2*j;i++) { printf("*"); } printf("\n"); } printf("\n"); return 0; }
23.打印金字塔
#include<stdio.h> int main() { char i,j,k; for(j=0;j<4;j++) { for(i=0;i<3-j;i++) { printf(" "); } for(i=0;i<=j*2;i++) { printf("*"); } printf("\n"); } return 0; }
24.打印菱形
#include<stdio.h> int main() { char i,j,k; for(j=0;j<4;j++) { for(i=0;i<4-j;i++) { printf(" "); } for(i=0;i<=j*2;i++) { printf("*"); } printf("\n"); } for(i=0;i<=4*2;i++) { printf("*"); } printf("\n"); for(j=0;j<4;j++) { for(i=0;i<=j;i++) { printf(" "); } for(i=0;i<(4-j)*2-1;i++) { printf("*"); } printf("\n"); } return 0; }
25.求满足1+2+3+…+n<500中最大的N,并求其和,编写程序实现
#include <stdio.h> int main() { int n=0,sum=0; //定义整型变量n和sun并都赋予了初始值0 while(sum<500) { ++n; sum+=n; //等于sum=sum+n } printf("N=%d\n",n-1); printf("1+2+3+4+......+%d<500\n",n-1); }
26.把100~200之间的不能被3整除的数输出
#include <stdio.h> int main() { int a; for (a=100;a<=200;a++) { if (a%3!=0) //求余不等于0的就是不被3整除的 { printf("%d\t",a); //\t是空格 } } }
27.按以下规律翻译密码:将每一个字母变成它后面的字母,例如,将A变成B,B变成C,…,Z变成A,非字母字符不变,“!”作为电文结束标志
#include <stdio.h> int main() { char ch; printf("输入字符串:\n"); while ((ch=getchar())!='!') { if ((ch>='a' && ch<='z')||(ch>='A' && ch<='Z')) { if(ch=='z') { ch='a'; } else if(ch=='Z') { ch='A'; } else { ch=ch+1; } printf("%c",ch); } } printf("\n"); }
28.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是小写字母,则把它变成大写字母;其它字符不变,请编程
#include <stdio.h> int main() { char ch; //定义字符ch ch=getchar(); if((ch>=65)&&(ch<=90)) { ch=ch+32; } else if ((ch>=97)&&(ch<=122)) { ch=ch-32; } printf("%c\n",ch); }
29.编程实现:计算1到100之间的奇数之和及偶数之和
#include <stdio.h> void main () { int n,even=0,odd=0; for(n=1;n<=50;n++) { even+=2*n; //even=even+2*n odd+=2*n-1; } printf("1到100间的偶数的和为%d:\n",even); printf("1到100间的奇数的和为%d:\n",odd); }
30.有一个两位数XY,X是十位,Y是个位;给出X+Y的值和X*Y的值;编程实现让用户猜测这个两位数十多少?根据猜测给出不同的提示
#include <stdio.h> int main() { int a; printf ("x+y=2\n"); printf("x*y=1\n"); printf("请输入你所猜得数字\n"); scanf("%d",&a); while(a!=11) { printf("you are not right\n"); scanf("%d",&a); } printf ("you are right\n"); }
31.键盘输入的一个两位数XY,X是十位,Y是个位;请编程计算X+Y的值和X*Y的值
#include <stdio.h> int main () { int a,x,y; printf ("请输入一个两位数\n"); scanf("%d",&a); x=a/10; y=a%10; printf ("x+y=%d\n",x+y); printf("x*y=%d\n"x*y); }