C语言程序代码

758 阅读3分钟

31.某位同学一学期有10门课,根据每门课的得分情况,输出最高分和最低分。
#include<stdio.h>
#define N 10
int main()
{
int a[N];
int i,j,t;
printf("请输入10个整数:\n");
for(i=0;i<N;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
printf("最高的一科:%d\n",a[9]);
printf("最低的一科:%d\n",a[0]);
printf("\n");
return 0;
}

31.png

32.输入两个数,若它们的平方和大于100,则输出该平方和的百位数以上(包括百位数字)的各位数字,否则输出两个整数的和。
#include<stdio.h>
int main()
{
int a,b,c,d;
printf("请输入a,b的值:\n");
scanf("%d%d",&a,&b);
c=aa+bb;
if(c>100)
{
d=c/100;
printf("%d%d\n",c,d);
}
else
printf("a+b=%d\n",a+b);
return 0;
}

32.png

33.从键盘输入一批整数,最后一个数是0,编程找出其中的最大数和最小数。 #include<stdio.h>
int main()
{
int x,min,max;
printf("请输入一个整数:\n");
scanf("%d",&x);
min=max=x;
for(;;)
{
if(x==0)
break;
printf("请输入一个整数:\n");
scanf("%d",&x);
if(x>max)
max=x;
if(x<min)
min=x;
}
printf("max=%d,min=%d\n",max,min);
return 0;
}

33.png

34.分别求一个3*3矩阵主对角线元素及下三角元素值之和,并输出该矩阵及求得的和。
#include<stdio.h>
#define N 3
int main()
{
int i,j,s1=0,s2=0,a[][3]={1,5,8,12,15,7,8,9,4};
printf("请输入原始数据:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++) printf("%5d",a[i][j]);
printf("\n");
}
for(i=0;i<N;i++)
for(j=0;j<=i;j++)
{
s1+=a[i][j];
if(i==j)
s2+=a[i][j];
}
printf("s1=%d,s2=%d\n",s1,s2);
return 0;
}

34.png

35.若a=5,b=1.332,c='A',想要得到以下的输出结果和格式,请编写程序。(□代表空格) a=□□□5□□□b=1.332
a+b=6.3
c='A'□or□65
#include<stdio.h>
int main()
{
printf("a= 5 b=1.332\n");
printf("a+b=6.3\n");
printf("c='A' or 65\n");
return 0;
}

35.png

36.将"China"字符串译成密码,译码规则:对每个字母用其后面的第5个字母替换,即字母a用f替换,b用g替换,依次类推。
#include<stdio.h>
int main()
{
char c1='C';
char c2='h';
char c3='i';
char c4='n';
char c5='a';
c1 +=5;
c2 +=5;
c3 +=5;
c4 +=5;
c5 +=5;
printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);
return 0;
}

36.png

37.运输公司为每种货物制定了单位运费p,实际运费f,根据货物重量w,运输里程s而不同,当运输里程达到250千米及以上时会得到运费折扣d,路程越远折扣越大。运费计算公式为:f=pws*(1-d)。假如折扣标准如下,请编写程序计算实际运费:250<=s<500,2%;500<=s<1000,5%; 1000<=s<2000,8%;2000<=s<3000,10%;2000<=s<3000,10%;3000<=s,15%。
#include<stdio.h>
#include<math.h>
int main()
{
float p,f,w,s,d;
int h;
printf("请输入p,w,s:\n");
scanf("%f%f%f",&p,&w,&s);
h=(int)s/250;
switch(h)
{
case 0:d=0;break;
case 1:d=0.02;break;
case 2:
case 3:d=0.05;break;
case 4:
case 5:
case 6:
case 7:d=0.08;break;
case 8:
case 9:
case 10:
case 11:d=0.1;break;
default:d=0.15;break;
}
f=pws*(1-d);
printf("s=%.2f,d=%.2f,f=%.2f\n",s,d,f);
return 0;
}

37.png

38.从键盘输入10个整数,求其累加和。可用goto语句和if语句配合实现。
#include<stdio.h>
void main()
{
int i=1,sum=0,x;
loop:if(i>10)goto end;
printf("请输入一个整数:\n");
scanf("%d",&x);
sum=sum+x;
i++;
goto loop;
end:printf("sum=%d\n",sum);
}

38.png

39.“水仙花数”是一种三位数,其各位数的立方和等于该数。如153=111+555+333,输出水仙花数。 #include<stdio.h>
int main()
{
int i,j,k;
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
if(iii+jjj+kkk==100i+10j+k)
printf("%d\n",100i+10j+k);
return 0;
}

39.png

40.计算满足条件的最大整数n,使得1+2+3+...+n<=10000。
#include<stdio.h>
int main()
{
int n,S;
S=0;
for(n=1;;n++)
{
S=S+n;
if(S>10000)
break;
}
printf("最大整数为%d,使得1+2+3+...+n<=10000\n",n-1);
return 0;
}

40.png