第七周:
#include<stdio.h>
int main()
{
int a[6],i;
for(i=0;i<6;i++)
scanf("%d",&a[i]);
for(i=5;i>=0;i--) //逆序输出,从大到小
printf("%d\n",a[i]);
return 0;
}
#include<stdio.h>
int main()
{
int a[5],i,j,t;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
{
for(j=i+1;j<5;j++) //这里 用到是 交换排序法
{
if(a[i]<a[j])
{ t=a[i];
a[i]=a[j];
a[j]=t;
}
else;
}
}
printf("次最大值=%d",a[1]);
return 0;
}
#include<stdio.h>
int main()
{
int a[6],i,j,k,m;
for(i=0;i<6;i++)
scanf("%d",&a[i]);
k=0;
for(j=1;j<6;j++)
if(a[j]>a[k])
{
k=j; //类似于 选择排序法,寻找最大值的下标;
}
m=a[k];
a[k]=a[5];
a[5]=m;
for(i=0;i<6;i++)
printf("%d\n",a[i]);
return 0;
}
第六周
#include<stdio.h>
int main()
{
int tmp, a, b;
scanf("%d%d", &a, &b);
while (a%b != 0)
{
tmp=a%b; //求两个数的最大公约数
a = b;
b = tmp;
}
printf("GCD=%d\n",b);
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
int a,m,i,find;
find=1;
float k;
scanf("%d",&a);
m=a+1;
do
{
find=1;
k=sqrt(m); //素数的计算办法!
for(i=2;i<=k;i++) //用连个循环
if(m%i==0)
{
find=0;
m++;
break;
}
}
while(!find);
printf("%d\n",m);
return 0;
}
#include<stdio.h>//斐波那契数列
int main()
{
int a,b,c,sum,count;
count=1;
a=1;
b=1;
sum=0;
for(count=1;count<10;count++)
{
a=a+b;
b=a+b; //迭代法
sum=a+b+sum;
}
c=sum+2;//因为第一次相加a和b的时候,漏了最开始的 a b。
printf("sum=%d\n",c);
return 0;
}
第5周:
#include<stdio.h>
int main()
{
int i,sum;
sum=0;
for(i=1;i<=100;i++)
{
if(i%3==0&&i%5==1) //符合的条件
sum=sum+i;
else ; //这一段中,还可以设置为 else continue;(就直接跳到了i++那一段)
}
printf("sum=%d\n",sum);
return 0;
}
#include<stdio.h>
int main()
{
int i,count;
float sum,ave;
sum=0;
count=0;
do
{
scanf("%d",&i);
if(i>=0)
{ sum=sum+i;// or sum+=i;
count++; //计算输入的个数
}
}
while(i>=0); //记得要加分号
ave=sum/count;
printf("AVE=%.2f\n",ave);
return 0;
}
#include<stdio.h>
int main()
{
float i,k;
double sum;
k=1.0;
i=1;
sum=0;
while((1/i)>1e-5) //1e-5 表示0.00001 同时 规则:e前面必须有数 后面必须是整数. 2e-5 则为2*0.00001
{
sum=sum+k/i; //注意这里,一定要是小数除法,整型的话,为0;
i=i+2;
k=-k; //或者写成:k=-1.0*k;
}
printf("pi=%.2f\n",4*sum);
return 0;
}
第四周:
#include<stdio.h>
int main()
{
char ch;
ch=getchar();//获取单个字符
ch=(ch>='A'&&ch<='Z')? (ch+32):(ch-32);//条件表达式
putchar(ch);
return 0;
}
#include <stdio.h>
int main()
{
double x,y;
scanf("%lf",&x);
if(x<0)
printf("y=0.00");
else
if(x>=0&&x<=15) //注意 “与”运算的引用 “或” ||
{y=(4*x)/3;
printf("y=%.2f",y); //if语句包含了两条语句,所以要加大括号, else语句同理。
}
else
{ y=2.5*x-10.5;
printf("y=%.2f",y);
}
return 0;
}
#include<stdio.h>
int main()
{
float grade;
int mark;
scanf("%f",&grade);
mark=grade/10;
switch(mark)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:printf("grade:E\n");break;
case 6:printf("grade:D\n");break;
case 7:printf("grade:C\n");break;
case 8:printf("grade:B\n");break;
case 9:
case 10:printf("grade:A\n");break;
default:printf("In put error\n");
}
return 0;
}#include<stdio.h>
int main()
{
float grade;
int mark;
scanf("%f",&grade);
mark=grade/10;
switch(mark)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:printf("grade:E\n");break;
case 6:printf("grade:D\n");break;
case 7:printf("grade:C\n");break;
case 8:printf("grade:B\n");break;
case 9:
case 10:printf("grade:A\n");break;
default:printf("In put error\n");
}
return 0;
}#include<stdio.h>
int main()
{
float grade;
int mark;
scanf("%f",&grade);
mark=grade/10;
switch(mark)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:printf("grade:E\n");break;
case 6:printf("grade:D\n");break;
case 7:printf("grade:C\n");break;
case 8:printf("grade:B\n");break;
case 9:
case 10:printf("grade:A\n");break;
default:printf("In put error\n");
}
return 0;
}#include<stdio.h>
int main()
{
float grade;
int mark;
scanf("%f",&grade);
mark=grade/10;
switch(mark)// switch() 括号里面只可以是常量。 注意 大括号
{
case 0:
case 1: //switch语句
case 2:
case 3:
case 4:
case 5:printf("grade:E\n");break; // case0到case5 是公用一条语句:printf("grade:E\n");break
case 6:printf("grade:D\n");break; //注意 break语句不可以漏掉 否则 会一直向下进行。
case 7:printf("grade:C\n");break;
case 8:printf("grade:B\n");break;
case 9:
case 10:printf("grade:A\n");break; //case9到case10公用一条语句,printf("grade:A\n");break;
default:printf("In put error\n"); //注意 default 语句
}
return 0;
}
#include<stdio.h>
int main()
{
int a,b,c,d,q;
scanf("%d",&d);
a=d/100;
b=d/10%10; //这几步都是剥离数据:另一种写法;{ z=d%10;d=d/10;x=d%10;d=d/10;c=d%10;} 这个时候就要用 加一个变量,因为d在运行过程中,量变了。
c=d%10;
q=a*a*a+b*b*b+c*c*c;
if(d==q&&d>0)//这一步,其实可以判断输入的是不是三位数
printf("%d是水仙花数!\n",d);
else printf("%d不是水仙花数!\n",d);
return 0;
}
第三周:
#include<stdio.h>
int main()
{
int a,b,i;
scanf("%d,%d",&a,&b);
i=b; //i的作用为 缓冲变量
b=a;
a=i;
printf("%d,%d",a,b);
return 0;
}
#include<stdio.h>
int main()
{
char a;
a=getchar();
printf("ASCII=%d",a); //直接在printf函数中 以%d 形式 输出 {注意:不可以写成getchar(a),但是putchar(a)可以}
return 0; //而 gets 和 puts 可以 在括号里写。
}
#include<stdio.h>
#include<math.h>
int main()
{
float x1,x2;
int a,b,c;
a=1,b=1,c=-2;
x1=(-b+sqrt(pow(b,2)-4*a*c))/(2*a); //完全运用公式,记得调用 数学库函数 #include<math.h>
x2=(-b-sqrt(pow(b,2)-4*a*c))/(2*a); // sqrt(a) pow(a,b)(相当于 a的b次方)
printf("x1=%.4f\n",x1);
printf("x2=%.4f\n",x2);
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
int a,b;
float c,sum;
scanf("%d%d%f",&a,&b,&c); //计算利息
sum=a*pow(1+c,b);
printf("sum=%7.2f",sum);
return 0;
}
第二周:
#include<stdio.h>
#define pi 3.1415 //定义了 宏变量
int main()
{
float r,area;
r=4.3;
area=pi*r*r;
printf("Area=%.2f\n",area);
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
double x;
scanf("%lf",&x);
printf("%f\n",sqrt(x));
return 0;
}
#include<stdio.h>
int main()
{
int x,a,b,c,y;
scanf("%d",&x);
a=x/100;
b=(x-100*a)/10; //同样是剥离数据的思想。 同样可以这样写: z=d%10;d=d/10;x=d%10;d=d/10;c=d%10
c=x%10;
y=c*100+b*10+a;
printf("y=%d\n",y);
return 0;
}
第一周:
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
#include<stdio.h>
int main()
{
printf("Hello C!\nI like programming.\n"); \\在每个语句 后面(若要换行),直接接\n.
return 0; \\或者,写完一个语句后,换行 写:printf("\n");
}
#include<stdio.h>
int main() { int a,b ;
scanf("%d %d",&a,&b);
printf("%d\n",a*b);
}