k=j;
}
if(k!
=i-1)
{
t=a[k];
a[k]=a[i-1];
a[i-1]=t;
}
}
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
}
10.2*3的数组行列对调
#include
voidmain()
{
inti,j,a[2][3],b[3][2];
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
b[i][j]=a[j][i];
}
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
printf("%d",b[i][j]);
printf("\n");
}
}
11.统计字符串中包含的单词个数
#include
#include
voidmain()
{
charc[100];
intnumber,i,n;
gets(c);
n=strlen(c);
number=0;
if(n>0)
{
for(i=0;i{
if(c[i]==''&&c[i+1]!
='')
number++;
}
number++;
}
printf("%d\n",number);
}
12.编写一个函数,求最大公约数
#include
intmaxgs(inta,intb)
{
inti,k;
i=a;
while(i>=1)
{
if(a%i==0&&b%i==0)
{
k=i;
break;
}
i--;
}
returnk;
}
voidmain()
{
intx,y,m;
scanf("%d,%d",&x,&y);
m=maxgs(x,y);
printf("%d\n",m);
}
13.求N个数阶乘之和用函数
#include
intf(intk)
{
inti,t;
t=1;
for(i=2;i<=k;i++)
t=t*i;
returnt;
}
intsum(intn)
{
inti,s;
s=0;
for(i=1;i<=n;i++)
s=f(i)+s;
returns;
}
voidmain()
{
intm,s;
scanf("%d",&m);
s=sum(m);
printf("%d\n",s);
}
1、求100之内自然数中最大的能被17整除的数。
#include
voidmain()
{inti;
for(i=100;i>0;i--)
if(i%17==0)break;
printf("%d\n",i);
}
2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。
#include
voidmain()
{
inta,b,c;
for(a=1;a<=9;a++)
{
for(b=0;b<=9;b++)
{
for(c=1;c<=9;c++)
if(a*100+b*10+c+c*100+b*10+a==1333)
printf("%d,%d,%d\n",a,b,c);
}
}
}
3、计算并输出200-400之间不能被3整除的整数的和。
#include
voidmain()
{inti,sum=0;
for(i=200;i<=400;i++)
if(i%3!
=0)
sum=sum+i;
printf("%d\n",sum);
}
4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。
#include
voidmain()
{inti,n=0,sum=0;
inta[10];
printf("请输入10个数:
");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
if(a[i]>=0)
{sum=sum+a[i];
n++;}
printf("非负个数是%d,sum=%d\n",n,sum);
}
5、求100之内自然数中偶数之和。
#include
voidmain()
{inti,sum=0;
for(i=0;i<=100;i++)
if(i%2==0)
sum=sum+i;
printf("sum=%d\n",sum);
}
6、输入5个数,求和并输出。
要求编写求和的函数。
#include
voidmain()
{intb(intx[],intn);
intsum=0;
inta[5];
inti;
printf("请输入5个数:
");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
sum=b(a,5);
printf("sum=%d\n",sum);
}
intb(intx[],intn)
{inti,sum=0;
for(i=0;i<5;i++)
sum=sum+x[i];
returnsum;}
7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。
#include
voidmain()
{inti,sum=0;
for(i=1;i<=99;i=i+2)
sum=sum+i*(i+1)*(i+2);
printf("%d\n",sum);
}
8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。
#include
#include
voidmain()
{inti,n;
charb[20];
printf("请输入字符串:
");
gets(b);
n=strlen(b);
for(i=0;iif(b[i]=='a')
b[i]='*';
for(i=0;iprintf("%c",b[i]);
printf("\n");
}
9、编写程序,将一个一维数组的元素逆序存放并输出。
例如,原顺序为1,2,3,4,5,逆序后为5,4,3,2,1。
#include
voidmain()
{inti;
inta[5];
printf("请输入5个数:
");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<2;i++)
{
t=a[i];
a[i]=a[4-i];
a[4-i]=t;
}
for(i=0;i<5;i++)
printf("%d",b[i]);
printf("\n");
}
10、求3行3列矩阵a[3][3]={1,2,3,4,5,6,7,8,9}非对角线上元素之和。
#include
voidmain()
{inti,j,sum=0;
inta[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i!
=j&&i+j!
=2)
sum=sum+a[i][j];
printf("%d",sum);
printf("\n");
}
11、编程判断输入的整数的正负性和奇偶性。
如果为正数,输出z;如果为负数,输出f;如果为偶数,输出o;如果为奇数,输出j
#include
voidmain()
{inta;
printf("请输入一个数:
");
scanf("%d",&a);
if(a>0)
printf("z\n");
if(a<0)
printf("f\n");
if(a%2==0)
printf("o\n");
if(a%2!
=0)
printf("j\n");
}
12、计算并输出1-200之间不能被5整除的整数的和。
#include
voidmain()
{inti,sum=0;
for(i=1;i<=200;i++)
if(i%5!
=0)
sum=sum+i;
printf("%d\n",sum);
}
13、从键盘输入n和a的值,计算a+aa+aaa+...+aa...a(n个a)的值。
#include
voidmain()
{inti,a,n;
longintsum=0,st=0;
printf("请输a和n:
");
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++)
{st=st+a;
sum=sum+st;
a=a*10;
}
printf("%ld\n",sum);
}14、输入5个数,求它们中最大值和平均值并输出。
#include
voidmain()
{
inta[5];
inti,j,max,sum=0;
floataverage;
printf("请输入5个数:
");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
max=a[0];
for(j=0;j<5;j++)
{
sum=sum+a[j];
if(maxmax=a[j];
}
average=1.0/5*sum;
printf("max=%d,average=%f\n",max,average);
}15、输出所有200-400之间能被3整除且个位数字为6的整数。
#include
voidmain()
{
inti;
for(i=200;i<=400;i++)
if((i%3==0)&&((i-6)%10==0))
printf("%d\n",i);
printf("\n");
}
16、编写程序,将用户输入的字符串中所有的字符a去掉,然后输出剩余的字符。
#include
voidmain()
{inti,j,n1;
chara[20];
printf("请输入字符串:
");
gets(a);
n1=strlen(a);
for(i=0;iif(a[i]!
='a')
printf("%c",a[i]);
printf("\n");
}
17、计算并输出200-400之间不能被7整除的整数的和。
#include
voidmain()
{inti,sum=0;
for(i=200;i<=400;i++)
if(i%7!
=0)
sum=sum+i;
printf("sum=%d\n",sum);
}
18.计算并输出200-400之间不能被5整除的整数的和。
#include
voidmain()
{inti,sum=0;
for(i=200;i<=400;i++)
if(i%5!
=0)
sum=sum+i;
printf("sum=%d\n",sum);
}
19、从键盘输入10个数,统计非正数的个数,并计算非正数的和
#include
voidmain()
{inti,n=0,sum=0;
inta[10];
printf("请输入10个数:
");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
if(a[i]<=0)
{sum=sum+a[i];
n++;}
printf("非正个数是%d,sum=%d\n",n,sum);
}
20、输入一串字符,将其中的大写字母变成对应的小写字母并输出。
#include
#include
voidmain()
{inti,n;
chara[20];
printf("请输入字符串:
");
gets(a);
n=strlen(a);
for(i=0;iif(a[i]>='A'&&a[i]<='Z')
a[i]=a[i]+32;
for(i=0;iprintf("%c",a[i]);
printf("\n");
}
21、打印所有的水仙花数。
所谓水仙花数是指一个三位数,其各位数字的立方和等于该数。
例如,153就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。
#include
voidmain()
{inta,b,c,s;
for(a=1;a<=9;a++)
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
if(a*100+b*10+c==a*a*a+b*b*b*b+c*c*c)
{
s=a*100+b*10+c;
printf("%d\n",s);
}
}
}
}
22、一个皮球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。
求当它第10次落地时,共经过了多少米,第10次反弹多高?
#include
voidmain()
{inti;
floatsum=100.0,h=50;
for(i=2;i<=10;i++)
{
sum=sum+2*h;
h=h/2;
}
printf("%f,%f\n",sum,h);
}
23、输出所有0-200之间能被3整除且个位数字为6的整数。
#include
voidmain()
{
inti;
for(i=0;i<=200;i++)
if((i%3==0)&&((i-6)%10==0))
printf("%d\n",i);
printf("\n");
}
24、输入一个正整数,输出它的阶乘。
#include
voidmain()
{inti,J=1,n=10;
printf("请输入一个正整数:
");
scanf("%d",&n);
for(i=1;i<=n;i++)
J=J*i;
printf("%d的阶乘是:
%d\n",n,J);
}
25、编写程序,判断从键盘输入的字符中数字字符的个数、大写字母的个数、小写字母的个数及其它字符的个数,以*作为字符输入结束标志。
#include
#include
voidmain()
{inti,x,m=0,n=0,k=0,j=0;
chara[20];
printf("请输入字符串:
");
gets(a);
x=strlen(a);
for(i=0;i{
if(a[i]=='*')break;
elseif(a[i]>='0'&&a[i]<='9')
m++;
elseif(a[i]>='A'&&a[i]<='Z')
n++;
elseif(a[i]>='a'&&a[i]<='z')
k++;
else
j++;
}
printf("%d,%d,%d,%d\n",m,n,k,j);
}
26、编写程序,使用循环结构输出下列图形:
****
****
****
****
****
#include
voidmain()
{inti,j,k;
for(i=0;i<5;i++)
{
for(j=0;j<4-i;j++)
printf("");
for(k=0;k<4;k++)
printf("*");
printf("\n");
}
printf("\n");
}
27、输入一串字符,逆序输出。
要求使用数组实现。
#include
#include
voidmain()
{inti,j,t,n;
chara[10];
printf("请输入字符串:
");
gets(a);
n=strlen(a);
for(i=0;i{
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
for(j=0;jprintf("%c",a[j]);
printf("\n");
}
28、求1-1/2+1/3-1/4+...+1/99-1/100的值。
#include
voidmain()
{intn,s=1;
floatsum=1.0;
for(n=2;n<=100;n++)
{
s=-s;
sum=sum+1.0/n*s;
}
printf("1-1/2+1/3-1/4+...+1/99-1/