C语言必背经典程序
输出 hello world
#include<stdio.h>
int main()
{
/*在双引号中间输入Hello World*/
printf("Hello World");
return 0;
}
按照考试成绩的等级输出 百分制分数段
#include <stdio.h>
int main()
{
int x,y;
printf("请输入一个百分制成绩:");
scanf("%d",&x);
y = x / 10;
switch(y){
case 9: printf("成绩为:A \n"); break;
case 8: printf("成绩为:B \n"); break;
case 7: printf("成绩为:C \n"); break;
case 6: printf("成绩为:D \n"); break;
case 5: printf("成绩为:E \n"); break;
default : printf("Wrong score"); break;
}
}
按照考试成绩的等级书橱百分制分数段,A等为85分以上,B等为84分,C等为60~69分,D等为60分以下。成绩的等级由键盘输入。
#include<stdio.h>
int main()
{
char grade;
scanf("%c",&grade);
printf("Your score:");
switch(grade)
{
case'A':printf("85~100\n");break;
case'B':printf("70~84\n");break;
case'C':printf("60~69\n");break;
case'D':printf("<60\n");break;
default:printf("enter data error!\n");
}
return 0;
}
九九乘法表共9行9列,i控制行,j控制列。
#include <stdio.h>
int main()
{
int i,j;
for(i=1;i<=9;i++){
for(j=1;j<=9;j++){
if(j==9)
//打印八个空格,去掉空格就是左上三角形
printf(" ");
else
printf("%d*%d=%2d ",i,j,i*j);
}
printf("\n");
}
return 0;
}
#include <stdio.h>
int main()
{
int i,j,n;
for(i=1;i<=9;i++){
// 将下面的for循环注释掉,就输出左下三角形
for(n=1; n<=9-i; n++)
printf(" ");
for(j=1;j<=i;j++)
printf("%d*%d=%2d ",i,j,i*j);
printf("\n");
}
return 0;
}
给定一个大写字母,要求用小写字母输出。
#include<stdio.h>
int main()
{
char c1,c2;
printf("请输入一个大写字母:");
scanf("%c",&c1);
c2=c1+32;
printf("%c\n",c2);
printf("%d\n",c2);
return 0;
}
输入3个数a,b,c,要求按从小到大的顺序输出。
#include<stdio.h>
int main()
{
float a,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
return 0;
}
输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母,如果不是,不转换。然后输出最后得到的字符。
#include<stdio.h>
int main()
{
char ch;
scanf("%c",&ch);
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
printf("%c\n",ch);
return 0;
}
判断一年是否为闰年。
#include<stdio.h>
int main()
{
int year,leap;
printf("请输入年份:");
scanf("%d",&year);
if(year%4==0)
{
if(year%100==0)
{
if(year%400==0)
leap=1;
else
leap=0;
}
else
leap=1;
}
else
leap=0;
if(leap)
printf("%d 不是闰年",year);
printf("%d 是一个闰年\n",year);
return 0;
}
求1+2+3+…+100
while循环
#include<stdio.h>
int main()
{
int i=1,sum=0;
while(i<=100)
{
sum=sum+i;
i++;
}
printf("sum=%d\n",sum);
return 0;
}
do while 循环
#include<stdio.h>
int main()
{
int i=1,sum=0;
do
{
sum=sum+i;
i++;
}while(i<=100);
printf("sum=%d\n",sum);
return 0;
}
要求输出100~200的不能被3整除的数。
#include<stdio.h>
int main()
{
int n;
for(n=100;n<=200;n++)
{if(n%3==0)
continue;
printf("%d\n",n);
}
printf("\n");
return 0;
}
求1~100的全部素数。
#include<stdio.h>
#include<math.h>
int main()
{
int n,k,i,m=0;
for(n=1;n<100;n=n+2)
{k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)break;
if(i>=k+1)
{printf("%d\n",n);
m=m+1;
}
}
return 0;
}
对10个数组元素一次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。
#include<stdio.h>
int main()
{
int i,a[10];
for(i=0;i<=9;i++)
a[i]=i;
for(i=9;i>=0;i--)
printf("%d",a[i]);
printf("\n");
return 0;
}
Fibonacci(斐波那契数列)有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
兔子的规律为数列1,1,2,3,5,8,13,21…
#include <stdio.h>
int main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=20;i++)
{
printf("%12ld%12ld",f1,f2);
if(i%2==0)printf("\n");/*控制输出,每行四个*/
f1=f1+f2;/*前两个月加起来赋值给第三个月*/
f2=f1+f2;/*前两个月加起来赋值给第三个月*/
}
}
输入两个实数,用一个函数求出他们的和。
#include<stdio.h>
int main()
{float add(float x,float y);
float a,b,c;
printf("Please enter a and b:");
scanf("%f,%f",&a,&b);
c=add(a,b);
printf("sum is %f\n",c);
return 0;
}
float add(float x,float y)
{ float z;
z=x+y;
return(z);
}
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
#include <stdio.h>
int main()
{
static int k[10];
int i,j,n,s;
for(j=2;j<10000000;j++)
{
n=-1 ;
s=j;
for(i=1;i<j;i++)
{if((j%i)==0)
{
n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{
printf("%d is a wanshu:",j);
for(i=0;i<n;i++) printf("%d",k[i]);
printf("%d\n",k[n]);
}
}
}
杨辉三角
#include <stdio.h>
int main()
{// 左下三角
int i,j,a[6][6] ;
for(i=0;i<=5;i++)
{
a[i][i]=1;a[i][0]=1;
}
for(i=2;i<=5;i++)
for(j=1;j<=i-1;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<=5;i++)
{
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
}
冒泡排序法两两交换,从小到大,排序后结果输出到屏幕
#include<stdio.h>
void fun(int a[],int n)
{
int i,j,t;
for(i=0;i<=n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
int main()
{
int a[10]={12,45,7,8,96,4,10,48,40,46},n=10,i;
fun(a,10) ;
for(i=0;i<10;i++)
{printf("%4d",a[i]);
}
return 0;
}
更多推荐
【计算机语言】C语言习题
发布评论