【计算机语言】C语言习题

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;
 } 
 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肖愁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值