第一题:打印出所有的“水仙花数”,所谓“水仙花数”
是指一个3位数,其各位数字立方之和等于该数本身。
#include <stdio.h>
int main()
{
int a,b,c;
int i,s;
for(i=100;i<1000;i++)
{
s=i;
a=s%10;
s=s/10;
b=s%10;
s=s/10;
c=s%10;
if(pow(a,3)+pow(b,3)+pow(c,3)==i)
printf("%d\n",i);
}
}
第二题:键盘输入长方体的长宽高l、w、h,求其体积及表面积。要求用自定义
函数val(l,w,h)计算长方体的体积和表面积,计算结果使用全局变量带回主函数。
#include <stdio.h>
int s=0;
int v=0;
int val(int l,int w,int h);
int main()
{
int l,w,h;
printf("请输入长宽高:");
scanf("%d %d %d",&l,&w,&h);
val(l,w,h);
printf("长方体的表面积为:%d\n长方体的体积为:%d",s,v);
}
int val(int l,int w,int h)
{
s=((l*w)+(h*w)+(l*h)*2);
v=l*w*h;
}
第三题:编写一个函数,将三个数按由小到大的顺序排列并输出。
在main函数中输入三个数,调用该函数完成这三个数的排序。
#include <stdio.h>
int val(int x,int y,int z);
int main()
{
int x,y,z,x1,z1,y1;
printf("请输入3个数:");
scanf("%d %d %d",&x,&y,&z);
val(x,y,z);
}
int val(int x,int y,int z)
{
if(x>y)
{
if(x>z)
{
if(y>z)
printf("%d %d %d \n",z,y,x);
else//y小于等于z
printf("%d %d %d\n",y,z,x);
}
else//x小于等于z
printf("%d %d %d\n",y,x,z);
}
else//x小于等于y
{
if(y>z)
{
if(x>z)
printf("%d %d %d\n",z,x,y);
else//x小于等于z
printf("%d %d %d\n",x,z,y);
}
else//y小于等于z
printf("%d %d %d\n",x,y,z);
}
}
第四题:编程实现电脑随机出10道一位整数的加、减法运算,每题10分。小学生
从键盘输入答案,统计小学生最后得分。
#include <stdio.h>
#include <time.h>
int main()
{
int a,b,c,i,s1,s2;
int sum=0;
srand(time(0));
for(i=0;i<10;i++)
{
a=rand()%1000;
b=rand()%1000;
c=rand()%2;
if(c==0)
{
printf("%d+%d=",a,b);
scanf("%d",&s1);
if(s1==(a+b))
{
sum=sum+10;
printf("恭喜你答对了!+10分\n");
}
}
else
{
if(a>=b)
{
printf("%d-%d=",a,b);
scanf("%d",&s1);
if(s1==(a-b))
{
sum=sum+10;
printf("恭喜你答对了!+10分\n");
}
}
}
}
system("cls");//清屏
printf(" 你的总分为:%d\n",sum);
}
第五题:编写程序输出下面图形 。
*
***
*****
*******
*****
***
*
#include <stdio.h>
int main()
{
int i;
int n,n1,n2;
int j;
printf("请输入你想输出星号行数(注:必须为奇数):");
scanf("%d",&n);
n1=n/2+1;
n2=n/2;
for(i=1;i<=n1;i++)
{
for(j=0;j<n1+i-1;j++)
{
if(n1-i>j)
printf(" ");
else
printf("*");
}
printf("\n");
}
for(i=n2;i>0;i--)
{
for(j=0;j<n1+i-1;j++)
{
if(n1-i>j)
printf(" ");
else
printf("*");
}
printf("\n");
}
}
第六题:设椭圆方程为:x2/a2+y2/b2=1,其中a,b从键盘输入。编程求椭圆的面积。(待定!!)
#include <stdio.h>
#include <math.h>
#define N 200
int main()
{
int a,b,i;
double d,s,x,y1,y2;
s=0;
x=0;
printf("请输入a,b:");
scanf("%d %d",&a,&b);
d=a/N;
for(i=0;i<N;i++)
{
y1=sqrt((1-pow(x+d,2)/pow(a,2))*pow(b,2));//上底
y2=sqrt((1-pow(x,2)/pow(a,2))*pow(b,2));//下底
s=s+(y1+y2)*d/2;
x=x+d;
}
printf("椭圆的面积为:%lf\n",s*4);
}
第七题:产生40个[0,9]之间的随机数,统计每个数字出现的次数。
#include <stdio.h>
#include <time.h>
int main()
{
int val[10]={0},i,a;
srand(time(0));
for(i=0;i<40;i++)
{
a=rand()%10;
val[a]++;
printf("%d ",a);
}
printf("\n");
for(i=0;i<10;i++)
{
printf("%d出现的次数:%d\n",i,val[i]);
}
printf("\n");
}
第八题:int x[6]={5,2,9,4,11,6}求数组中所有下标为偶数的数组元素阶乘的和并输出
(用自定义函数求阶乘的和,数组名做函数参数,返回值是和)。
#include <stdio.h>
int val();
int main()
{
int x[6]={5,2,9,4,11,6};
int sums;
sums=val(x[6]);
printf("阶乘和为:%d",sums);
}
int val()
{
int x[6]={5,2,9,4,11,6};
int i,n,j;
long s=1;
long sum=0;
for(i=0;i<6;i++)
{
s=1;
if(i%2==0)
{
n=x[i];
printf("下标为偶数对应的值为:%d\n",n);
for(j=1;j<=n;j++)
{
s=s*j;
}
printf("阶乘为:%d\n",s);
}
else
{
continue;
}
sum=sum+s;
}
return sum;
}