大一C语言编程题部分汇总.docx
《大一C语言编程题部分汇总.docx》由会员分享,可在线阅读,更多相关《大一C语言编程题部分汇总.docx(10页珍藏版)》请在冰点文库上搜索。
大一C语言编程题部分汇总
输出众数:
intmain()
{inta[10],b[10]={0};
inti,j,max;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=i;j<10;j++)
if(a[i]==a[j])
b[i]++;
max=b[0];
for(i=0;i<10;i++)
if(b[i]>max)
max=b[i];
if(max==1)
printf("No");
else
for(i=0;i<10;i++)
if(b[i]==max)
printf("%d,%d\n",a[i],b[i]);
return0;
}
●平方数:
#include
intmain()
{
inti,a,b;
for(i=1000;i<=9999;i++)
{
a=i/100;
b=i%100;
if(i==(a+b)*(a+b))
printf("%d\n",i);}
return0;
}
排序:
由小到大
#include
intmain()
{inta[10];
inti,j,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<9;i++)
printf("%d\n",a[i]);
printf("%d",a[9]);
return0;
}
#
{
inta[11];
intn,i,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
scanf("%d",&n);
if(n>a[9])
a[10]=n;
else
{for(i=0;i<9;i++)
if(a[i]>n)
{for(j=9;j>=i;j--)
a[j+1]=a[j];
a[i]=n;
break;
}
}
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("%d",a[10]);
return0;
}
总平均成绩,各科平均成绩:
#include
intmain()
{
inta[3][5];
inti,j;
floatsum[3]={0,0,0},total=0;
for(i=0;i<3;i++)
for(j=0;j<5;j++)
{scanf("%d",&a[i][j]);
sum[i]+=a[i][j];
}
for(i=0;i<3;i++)
for(j=0;j<5;j++)
total+=a[i][j];
for(i=0;i<2;i++)
printf("%.2f",sum[i]/5);
printf("%.2f",sum[i]/5);
printf("\n");
printf("%.2f\n",total/15);
return0;
}*/
找出最小数,输出其下标:
/*#include
intmain()
{
inti,j,row=0,colum=0,min;
inta[3][4];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
min=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(a[i][j]{
min=a[i][j];
row=i;
colum=j;}
printf("min=%d\n%d,%d",min,row,colum);
return0;*/
*/
求平均值:
#include
floatavernum(inta[20])
{inti;
floatsum=0,aver;
for(i=0;i<20;i++)
sum=sum+a[i];
aver=sum/20.00;
return(aver);
}
intmain(){
inta[20],i;
floatx;
for(i=0;i<20;i++)
scanf("%d",&a[i]);
x=avernum(a);
printf("%f",x);
return0;
}
编写一个函数fun,函数的功能是:
判断一个整数是否既是5又是7的整倍数。
若是,输出yes,否则输出no。
在主函数中输入任意一个正整数,调用fun函数,输出该数对应的结果。
主函数形式如下:
intmain(){
intn;
scanf("%d",&n);
fun(n);
return0;
}
要求:
(1)本题main函数已在后台给出,不需要再写了,但需要给出合适的头文件。
(2)给出fun函数
#include
voidfun(intx)
{
if(x%5==0&&x%7==0)
printf("yes");
elseprintf("no");
}
intmain(){
intn;
scanf("%d",&n);
fun(n);
return0;
}
#include
intfac(intn)
{if(n==1||n==2)
return1;
elsereturnfac(n-1)+fac(n-2);
}
intmain(){
inti,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
if(i%5==0)
printf("%d\n",fac(i));
else
printf("%d",fac(i));
return0;
}
将数组a 的数据逆序复制到数组b中,并输出数组b的值
#include
intmain()
{inti,*p;
inta[10],b[10];
for(i=0;i<10;i++)
{scanf("%d",&a);
p=a;
b[i]=*p;
printf("%d",b[i]);
}
return0;
}
结构体
定义时间结构体,输入某一时刻的时间,输出下一秒的时间
#include
intmain()
{structTime
{inth;
intm;
ints;
}t1,t2;
scanf("%d:
%d:
%d",&t1.h,&t1.m,&t1.s);
t2.s=t1.s+1;
t2.m=t1.m;
t2.h=t1.h;
if(t2.s==60){
t2.m=t1.m+1;
t2.s=0;
}
if(t2.m==60)
{t2.h=t1.h+1;
t2.m=0;
}
if(t2.h==24){
t2.h=0;
}
printf("%d:
%d:
%d",t2.h,t2.m,t2.s);
return0;
}
#include
intmain()
{structStu
{intnum;
charname[20];
floatscore[3];
};
structStus[5];
inti,j;
intk=0;k必须要赋初值
floatmax;
floatsum[5]={0},sum1[3]={0};
for(i=0;i<5;i++)
{scanf("%d%s",&s[i].num,s[i].name);
scanf("%f%f%f",&s[i].score[0],&s[i].score[1],&s[i].score[2]);
}
max=s[0].score[0]+s[0].score[1]+s[0].score[2];
for(i=0;i<5;i++)
sum[i]=s[i].score[0]+s[i].score[1]+s[i].score[2];
for(i=0;i<5;i++)
if(sum[i]>max)
{max=sum[i];
k=i;}
printf("%d%s",s[k].num,s[k].name);
printf("%.1f%.1f%.1f\n",s[k].score[0],s[k].score[1],s[k].score[2]);
for(j=0;j<3;j++)
for(i=0;i<5;i++)
sum1[j]+=s[i].score[j];
printf("%.1f%.1f%.1f",sum1[0]/5,sum1[1]/5,sum1[2]/5);
return0;
}