大一C语言编程重点复习题
发布时间:2024-11-10
发布时间:2024-11-10
输出众数:
int main()
{int a[10],b[10]={0};
int i,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]);
return 0;
}
平方数:
#include<stdio.h>
int main()
{
int i,a,b;
for(i=1000;i<=9999;i++)
{
a=i/100;
b=i%100;
if(i==(a+b)*(a+b))
printf("%d\n",i);}
return 0;
}
排序:由小到大
#include<stdio.h>
int main()
int i,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]);
return 0;
}
#
{
int n,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]);
return 0;
}
总平均成绩,各科平均成绩:
#include<stdio.h>
int main()
{
int a[3][5];
int i,j;
float sum[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);
return 0;
}*/
找出最小数,输出其下标:
/*#include<stdio.h>
int main()
{
int i,j,row=0,colum=0,min;
int a[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)
{
min=a[i][j];
row=i;
colum=j;}
printf("min=%d\n%d,%d",min,row,colum);
return 0;*/
*/
求平均值:
#include<stdio.h>
float avernum(int a[20])
{ int i;
float sum=0,aver;
for(i=0;i<20;i++)
sum=sum+a[i];
aver=sum/20.00;
return(aver);
}
int main(){
int a[20],i;
float x;
for(i=0;i<20;i++)
scanf("%d",&a[i]);
x=avernum(a);
printf("%f",x);
return 0;
}
编写一个函数fun,函数的功能是:判断一个整数是否既是5又是7的整倍数。若是,输出yes,否则输出no。在主函数中输入任意一个正整数,调用fun函数,输出该数对应的结果。主函数形式如下:
int main(){
int n;
scanf("%d",&n);
fun(n);
return 0;
}
要求:(1)本题main函数已在后台给出,不需要再写了,但需要给出合适的头文件。
(2)给出fun函数
#include<stdio.h>
void fun(int x)
{
if(x%5==0&&x%7==0)
printf("yes");
else printf("no");
}
int main(){
int n;
scanf("%d",&n);
fun(n);
return 0;
}
#include<stdio.h>
int fac(int n)
{ if(n==1||n==2)
return 1;
else return fac(n-1)+fac(n-2);
}
int main(){
int i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
if(i%5==0)
printf("%d\n",fac(i));
else
printf("%d ",fac(i));
return 0;
}
将数组a 的数据逆序复制到数组b中,并输出数组b的值
#include<stdio.h>
int main()
{int i,*p;
int a[10],b[10];
for(i=0;i<10;i++)
{scanf("%d",&a);
p=a;
b[i]=*p;
printf("%d ",b[i]);
}
return 0;
}
结构体
#include<stdio.h>
int main()
{struct Time
{int h;
int m;
int s;
}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);
return 0;
}
#include<stdio.h>
int main()
{struct Stu
{int num;
char name[20];
float score[3];
};
struct Stu s[5];
int i,j;
int k=0;k必须要赋初值
float max;
float sum[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);
return 0;
}
下一篇:小学三年级数学脱式计算题300题