第一篇:C語言實訓
第一天的題目: 求兩個整數之和。
#include
求1×3×5×7×9×11 #include
sum = sum*i;
i = i+2;}
printf(“%d”,sum);return 0;} 有50個學生,要求將成績在80分以上的學生的學號和成績輸出。
#include
int i;
int a[50];
for(i=0;i<50;i++)
{
scanf(“%d”,&a[i]);
if(a[i]>80)
printf(“%d”,a[i]);
} }
判定2000—2500年中的每一年是否閏年,并將結果輸出。
#include
int y;
y=2000;
while(y<=2500)
{
if(((y%4 == 0)&&(y%100!= 0))||(y%400 == 0))
printf(“%d 年是閏年n”,y);
else printf(“%d 年不是閏年n”,y);
y=y++;} } 求1?11111?????? 23499100#include
sign=-sign;
term=sign/deno;
sum=sum+term;
deno=deno+1;} printf(“%fn”,sum);} 給出一個大于或等于3的正整數,判斷它是不是一個素數。
#include
int i,n,mark=0;
scanf(“%d”,&n);
for(i=2;i < n/2+1;i++)
{
if(n%i==0)
{
printf(“%d不是素數”,n);
mark=1;
break;
}
}
if(mark==0)
printf(“%d是素數”,n);} 求5!#include
#include
#include
float a,b,t;scanf(“%f %f”,&a,&b);if(a>b){ t=a;a=b;b=t;} printf(“%5.2f,%5.2fn”,a,b);
} 輸入3個數a,b,c,要求按由小到大的順序輸出。
#include
#include
char zhong,guo;
scanf(“%c”,&zhong);
if(65<=zhong&&zhong<=90)
{
guo=zhong+32;
printf(“%c”,guo);
}
else
printf(“%c”,zhong);}
??1(x?0)?1編一程序,輸入一個x值,要求輸出相應的y值。y??0(x?0)
?1(x?0)?#include
int x,y;
printf(“請輸入x:”);
scanf(“%d”,&x);
if(x<0)
y=-1;
else if(x=0)
y=0;
else
y=1;
printf(“y=%d”,y);} 要求按照考試成績的等級輸出百分制分數段,A等為85分以上,B等為70~84分,C等為60~69分,D等為 60分以下。成績的等級由鍵盤輸入。#include
5寫一程序,判斷某一年是否閏年。#include
int a;
scanf(“%d”,&a);
if(a%4==0&&a%100!=0||a%400==0)
printf(“是閏年”);
else printf(“不是閏年”);} 運輸公司對用戶計算運輸費用。路程(s km)越遠,每噸·千米運費越低。標準如下:
s < 250
沒有折扣
250≤s < 500
2%折扣
500≤s < 1000
5%折扣
1000≤s < 2000
8%折扣
2000≤s < 3000
10%折扣
3000≤s
15%折扣 #include
int c, s;
float p, w, d, f;
scanf(“%f %f %d”, &p, &w, &s);
if(s >= 3000)c =12;
else c = s / 250;
switch(c)
{
case 0 : d = 0;break;
case 1 : d = 2;break;
case 2 :
case 3 : d = 5;break;
case 4 :
case 5 :
case 6 :
case 7 : d = 8;break;
case 8 :
case 9 :
case 10:
case 11: d = 10;break;
case 12: d = 15;break;
}
f = p * w * s *(1-d / 100);
printf(“freight =%15.4fn”,f);} 全班有50個學生,用循環語句統計各學生三門課的平均成績。#include
return 0;} 要求輸出100~200之間的不能被3整除的數。#include
main(){
int
n;
for(n=100;n <=200;n++)
{
if(n%3!=0)
printf(“%d
”,n);}
printf(“n ”);}
第二天的題目:
?1 輸出以下4*5的矩陣。
10 15 20 #include
printf(“%sn”,p[i]);} } 用
?4?1?13?15?17??
公式求 ?
的近似值,直到發現某一項的絕對值小于10-6 為止(該項不累計加)。
#include
s=-s;
t=s/n;
pi=pi+t;} pi=pi*4;printf(“%.6fn”,pi);return 0;}
? 求費波那西(Fibonacci)數列的前40個數。這個數列有如下特點:第1、2兩個數為1、1。從第3個數開始,該數是其前面兩個數之和。即: ?F1?1??F2?1?F?F?Fn?1n?2?n(n?1)(n?2)
(n?3)#include
f3=f1+f2;
printf(“%12dn”,f3);
f1=f2;
f2=f3;} return 0;}
輸入一個大于3的整數n,判定它是否素數(prime,又稱質數)。#include
if(a%b==0)
{
printf(“此數不是素數n”);
return 0;
}
printf(“此數是素數n”);
return 0;} 求100~200間的全部素數。#include
int i,k,sk,flag,m=0;
for(k=100;k<=200;k++)
{
sk=(int)sqrt(k);
flag = 1;
for(i=2;i<=sk;i++)
{
if(k%i==0)
{
flag=0;
break;
}
}
if(flag==1)
{
m++;
printf(“%5d”,k);
}
}
if(m%12==0)
printf(“n”);
printf(“total:%5dn”,m);} 對10個數組元素依次賦值為0,1,2,3,4,5,6,7,8,9,要求按逆序輸出。#include
#include
int i;
int f[40]={1,1};
for(i=0;i<40;i++)
{
f[i]=f[i-2]+f[i-1];
}
for(i=0;i<40;i++)
{
if(i%5==0)
printf(“/n”);
printf(“%12d”,f[i]);
}
return 0;} 有10個地區的面積,要求對它們按由小到大的順序排列(采用起泡法)。#include
scanf(“%d”,&a[i]);for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
} for(i=0;i<10;i++)
printf(“%dt”,a[i]);} 將一個二維數組行和列的元素互換,存到另一個二維數組中。
?14??123??b??25a??456? ??????36??#include
for(j=0;j<3;j++)
{
printf(“%5d,a[i][j]”);
b[j][i]=a[i][j];
}
printf(“n”);} printf(“array b:n”);for(i=0;i<3;i++){
for(j=0;j<2;j++);
printf(“%5d”,b[i][j]);
printf(“n”);} } 有一個3×4的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。
#include
int a[3][4],max,i,j;
int x=0,y=0;
printf(“請輸入矩陣的數值!n”);
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf(“%d”,&a[i][j]);
max=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(max { max=a[i][j]; x=i; y=j; } printf(“矩陣中最大的元素為:%dn”,max); printf(“行號為:%d,列號為:%d”,x,y);} 輸出一個已知的字符串。#include