a[0]=a[j];
}
printf("%d%d\n",sum,a[0]);
}
3
(2)给出三角形的三边A,B,C,求三角形的面积。
#include
#include
main()
{
floata,b,c,p,s;
scanf("%f%f%f",&a,&b,&c);
if(a+b-c>0&&b+c-a>0&&a+c-b>0)
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%f\n",s);
}
else{
printf("不能构成三角形!
");
}
}
3(3)编写程序求一个字符串的第n个字符开始,长度为m的子串。
#include
main()
{
chars[100];
intn,m;
gets(s);
scanf("%d%d",&n,&m);
for(inti=n-1,k=0;kprintf("%c",s[i]);
printf("\n");
}
4
(1)猜数游戏,加入设定一个整数m=123,然后让其他人从键盘上猜该数字,如果才对,输出"RIGHT",如果猜错,则输出"WRONG",并且指出审定的数字比输入的数字大还是小。
#include
voidmain()
{
intn,m;
m=123;
do
{
printf("请输出你猜测的数字:
");
scanf("%d",&n);
if(nprintf("您输入的数字小了!
\n");
elseif(n>m)
printf("您输入的数字大了!
\n");
else
printf("恭喜你答对了!
\n");
}
while(n!
=m);
}
4
(2)编写程序,用于统计从键盘输入的字符串中的原音字母(a,A,e,E,i,I,o,O,u,U)的个数。
#include
voidmain()
{
intn=0;
chars[100];
printf("请输入需要统计的的字段:
\n");
gets(s);
for(inti=0;s[i]!
='\0';i++)
if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='i'||s[i]=='I'||s[i]=='o'||s[i]=='O'||
s[i]=='u'||s[i]=='U')
n++;
printf("%d\n",n);
}
4(3)编写程序求1-100中所有同构数的个数。
(一个自然数的平方的末几位与改数相同时该数就是同构数)
#include
main()
{
intx;
for(x=1;x<=100;x++)
if(x*x%10==x||x*x%100==x)
printf("%5d",x);
printf("\n");
}
5
(1)从键盘接收一整数x,判断X是否为含有因子7的正整数,如果是泽输出"YES",否泽输出"NO"。
#include
voidmian()
{
intx;
printf("输入一个整数x=");
scanf("%d",&x);
if(x%7==0)
printf("YES\n");
else
printf("NO\n");
}
5
(2)编写一个密码检测的程序,在程序执行时,要求用户输入密码(标准密码自己预先设定),然后通过字符串比较函数输入密码和标准密码是否相等,若相等,则显示“口令正确”,并并专区执行后继程序;若不相等,重新输入,3次不都不相等泽种植程序的执行。
要求自己编写一个字符串比较函数,而不使用系统的STRCMP()函数。
#include
#include
boolcmp(chars[20])
{
charmi[]={"helloword!
"};
intlen=strlen(mi);
if(len==strlen(s))
for(inti=0;iif(mi[i]!
=s[i])
returnfalse;
elsereturntrue;
returnfalse;
}
intmain()
{
chars[20],n=1;
do
{
gets(s);
if(cmp(s))
{
printf("口令正确");
break;
}
n++;
}
while(n<=3);
}
5(3)编写首先求s=1!
+2!
+3!
+......+10!
.
#include
main()
{
longints=0,p=1;
intn;
for(n=1;n<=10;n++)
{
p=p*n;
s=s+p;
}
printf("%1d\n",s);
}
6
(1)编写程序,等对一给丁的3*4的矩阵,求出其中的最大元素值极其所在的行列号。
#include
voidmain()
{
inta[3][4],b[12],i,j,k;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);
}
for(k=0,i=0;i<3;i++)
for(j=0;j<4;j++,k++)
{
b[k]=a[i][j];
}
for(i=0;i<11;i++)
for(j=0;j<11;j++)
{
if(b[j]>b[j+1])
{
inttemp;
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
}
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
if(b[11]==a[i][j])
{
printf("最大元素在第%d行,第%d列\n",i+1,j+1);
}
}
printf("这个元素为:
%d\n",b[11])}
}
6
(2)求2000中含有的5的因子的个数。
#include
intfun(intn)
{
ints=0,k;
for(k=2;k<=n;k++)
if(k%5==0)
s++;
returns;
}
main()
{
printf("%d\n",fun(2000));
}
6(3)求任意一个小于65535的正整数的逆序数,并判断概述是否为回文数。
#include
voidmain()
{
inta,b,c,d,e,num,num1;
printf("请输入一个小于65535的正整数:
");
scanf("%d",&num);
a=num/10000;
b=num%10000/1000;
c=num%1000/100;
d=num%100/10;
e=num%10;
if(num>9999)
{
printf("逆序后为:
%d%d%d%d%d\n",e,d,c,b,a);
num1=e*10000+d*1000+c*100+b*10+a;
if(num1==num)
printf("改数为回文数!
\n");
}
elseif(num>999)
{
printf("逆序后为:
%d%d%d%d\n",c,d,c,b);
num1=e*1000+d*100+c*10+b;
if(num1==num)
printf("改数为回文数!
\n");
}
elseif(num>99)
{
printf("逆序后为:
%d%d%d\n",e,d);
num1=e*100+d*10+c;
if(num1==num)
printf("改数为回文数!
\n");
}
elseif(num>9)
{
printf("逆序后为:
%d%d\n",e,d);
num1=e*10+d;
if(num1==num)
printf("改数为回文数!
\n");
}
else
{
printf("逆序后为:
%d\n",e);
printf("改数为回文数!
\n");
}
}
7
(1)给一个不多余5位的正整数,要求:
求出其位数,并分别打印出每一位数字,最后安妮需打印出这个正整数。
#include
voidmain()
{
inta,b,c,d,e,num;
printf("请输入一个不多余5位的正整数:
");
scanf("%d",&num);
a=num/10000;
b=num%10000/1000;
c=num%1000/100;
d=num%100/10;
e=num%10;
if(num>9999)
printf("逆序后为:
d%d%d%d%d\n",e,d,c,b,a);
elseif(num>999)
printf("逆序后为:
d%d%d%d\n",e,d,c,b);
elseif(num>99)
printf("逆序后为:
d%d%d\n",e,d,c);
elseif(num>9)
printf("逆序后为:
%d%d\n",e,d);
else
printf("逆序后为:
%d\n",e);
}
7
(2)求一个4行4列矩阵主对角线元素之和。
#include
intmain()
{
inti,j,a[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf("%d\n",a[0][0]+a[1][1]+a[2][2]+a[3][3]+a[0][3]+
a[1][2]+a[2][1]+a[3][0]);
}
7(3)编写一个程序,判断从键盘输入的两个字符串是否相同,若相同则输出“字符串相同”,否则输出“字符串不同”。
#include
#defineN20
intstrcmp(charstr1[],charstr2[])
{
inti=0;
while(str1[i]==str2[i]&&str1[i]!
='\o'&&str2[i]!
='\o')
i++;
returnstr1[i]-str2[i];
}
voidmain()
{
charstr1[N],str2[N];
printf("请输入第一个字符串:
");
gets(str1);
printf("请输入第二个字符串:
");
gets(str2);
if(strcmp(str1,str2)==0)
printf("字符串相同!
\n");
else
printf("字符串不同!
\n");
}
8
(1)输出100-200之间,能被3整除但不能被7整除的数。
#include
voidmain()
{
inti;
for(i=100;i<=200;i++)
{
if((i%3==0)&&(i%7!
=0))
printf("%d\t",i);
}
}
8
(2)将一个月份数字转换证月份的英文名称.
#include
voidmain()
{
char
*str[]={"January","February","March","April","May","June","July","Augest","September","October","November","December"};
char**p=str;
inti;
scanf("%d",&i);
printf("%s\n",p[i-1]);
}
8(3)编写一个程序,用简单的选择排序实现对5个整数的排序(从大到小),排序思路:
首先从n个整数中选出数值
最大的证书,将他交换到第一个元素位置,在从剩余的N-1个整数中选出数值最大的整数,将他交换到第二个
元素位置上,抽工夫上述操作,知道排序成功。
#include
#defineN5
voidsmp(intr[],intn)
{
inti,j,k;
inttemp;
for(i=0;i{
for(j=i+1;jif(r[i]{
temp=r[i];
r[i]=r[j];
r[j]=temp;
}
}
}
main()
{
inti,a[N];
printf("请输入%d个整数:
\n",N);
for(i=0;iscanf("%d",&a[i]);
smp(a,N);
printf("排列后的输出为:
\n");
for(i=0;iprintf("%5d",a[i]);
}
9
(1)编写一个程序,实现从键盘输入一组整数,求该组整数的平均值,并将大于平均值的整数输出
#include
main()
{
intsum=0,i,j=0,a[10],b[10];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
for(i=0;i<10;i++)
{
if(a[i]>sum/10)
{
b[j]=a[i];
j++;
}
}
for(i=0;iprintf("%d\n",b[i]);
}
9
(2)编写程序,输形状为直角三角形的九九乘法表。
#include
main()
{
inta,b;
for(a=1;a<10;a++)
{
for(b=1;b<=a;b++)
printf("%d*%d=%d",a,b,a*b);
if((a*b)==(b*a))
printf("\n");
}
}
9(3)编写一个程序,判断某字符串中出现的次数,字符串及主串均从键盘输入。
#include
#include
main()
{
chars[100],ch[10];
intn=0;
gets(s);
gets(ch);
intlen1=strlen(s),len2=strlen(ch);
for(inti=0;iif(s[i]==ch[0])
{
intm=1;
for(intj=1;jif(s[i+j]==ch[j])
m++;
if(m==len2)
n++;
}
printf("%d\n",n);
}
10
(1)从键盘输入一个学生的成绩,判断学生成绩登记,如果成绩在90-100,等级为A,成绩在80-89,等级为B,成绩在70-79,等级为C,成绩在60-69,等级为D,成绩小于60,等级为E.
#include
voidmain()
{
intscore;
printf("请输入该生的成绩:
");
scanf("%d",&score);
if(score>89)
printf("等级A\n");
elseif(score>79)
printf("等级B\n");
elseif(score>69)
printf("等级C\n");
elseif(score>59)
printf("等级D\n");
else
printf("等级E\n");
}
10
(2)输入100-1000之间的全部素数。
#include
voidmain()
{
intn,i,m;
for(n=10;n<=1000;n++)
{
for(i=2;i{
m=n%i;
if(m==0)
break;
}if(m!
=0)
printf("%d\t",n);
}
}
10(3)编写程序,求从键盘输入的字符串的长度。
#include
intstrlen(charstr[])
{
inti;
for(i=0;str[i]!
='\0';i++);
returni;
}
voidmain()
{
charstr[50];
printf("请输入字符串:
");
gets(str);
printf("字符串长度为:
%d\n",strlen(str));
}
11
(1)在主函数中从键盘输入若干个数放入数组中,用0结束输入,并放在最后一个元素中,下列程序中,函数fun的功能是:
计算数组元素中值为正数的平均值。
#include
#include
doublefun(intx[])
{
inta[1000];
inti,j=0,k=0;
doubles=0;
while(x[j]!
='\0')
{
if(x[j]>0)
{
a[k]=x[j];
k++;
}
j++;
}
for(i=0;is+=a[i];
returns/k;
}
main()
{
intx[1000];inti=0;
printf("\nPleaseentersomedata(endwith0)");
do
{
scanf("%d",&x[i]);
}
while(x[i++]!
=0);
printf("%f\n",fun(x));
}
11
(2)编程:
讲一个数字字符串传换成一个整数。
列入,若输入字符串“-1234”,则函数把它传唤为整数值-1234。
#include
#include
#defineN10
main()
{
charstr[N];
inti=0,flag=0;
longnum=0;
prin