//1 编程计算1~100之间的所有素数之和。
#include <stdio.h>
#include <math.h>
int search(int i);
main()
{
int i,num;
num=0;
for(i=2;i<101;i++)
{
if(search(i))
{
num+=i;
printf("%d ",i);
}
}
}
int search(int i)
{
int k,j;
for(k=i/2;k>1;k--)
{
j=i;
j=j/k;
if(i==j*k) return 0;
}
return 1;
}
/*2 有一个字符数组str,数组中存放一个字符串,编程将字符数组中ASCII值为奇数的字符从数组中删除掉,
删除后形成的新字符串仍然存放在原来的字符数组str中。
*/
#include<stdio.h>
main()
{
char ch[10];
int i,num[10],j,k;
for(i=0;i<10;i++)
{
ch[i]=i+30; //这只是为了方便编程
num[i]=0;
}
for(i=0;i<10;i++)
{
k=ch[i];
if(k%2==0) num[i]=i+1;
}
for(j=0,i=0;i<10;i++)
{
if(num[i]!=0)
{
ch[j]=ch[(num[i]-1)];
j++;
}
}
ch[j]='\0';
}
/*3 编写程序求出所有满足以下条件的四位数:其前两位数字与其后两位数字之和的平方等于该数本身。
例如:3025=(30+25)2
*/
#include<stdio.h>
int search(int i);
main()
{
int i;
for(i=1000;i<10000;i++)
{
if(search(i)) printf("%d ",i);
}
}
int search(int i)
{
int j,k;
j=i/100;
k=i%100;
if(i==(k+j)*(k+j)) return 1;
else return 0;
}
//4 有一个含有10个元素的整型数组,编程将其元素按逆序存放
#include<stdio.h>
main()
{
int i,k,num[10];
for(i=0;i<10;i++)
{
num[i]=i+1;
}
for(i=0;10-i>i;i++)
{
k=num[i];
num[i]=num[9-i];
num[9-i]=k;
}
}
//5 用选择法对含有10个整数的数组按由大到小的顺序进行排序。
main()
{
int m,k,j,i,d,p[10];
p[10]=(23,25,65,9,45,73,2,56,222,20);
k=0;
m=10-1;
while(k<m)
{
j=m-1;
m=0;
for(j=k;i<=j;i++)
{
if(p[i]>p[i+1])
{
d=p[i];
p[i]=p[i+1];
p[i+1]=d;
}
}
j=k+1;
k=0;
for(i=m;i>=j;i--)
{
if(p[i-1]>p[i])
{
d=p[i];
p[i]=p[i-1];
p[i-1]=d;
}
}
}
}
/*6 假定输入的字符串中只包含字母和*号。请编写程序将字符串中的所有*删除,
删除后的字符串仍存放在原来的数组中。例如,字符串中的内容为:"***ab*A*BC*DEF*G****",
则删除后的字符串为:"abABCDEFG"。
*/
#include<stdio.h>
main()
{
int i,j;
char ch[]="***ab*A*BC*DEF*G****";
for(i=0;ch[i]!='\0';i++)
{
if(ch[i]=='*')
{
for(j=i;ch[j]!='\0';j++)
{
ch[j]=ch[j+1];
}
i--;
}
}
}
//7 从键盘上输入10个整数存放到一个数组中,找出其中的最大值并输出。
#include<stdio.h>
main()
{
int j,num[10],i;
printf("input the numbers: ");
for(i=0;i<10;i++)
{
scanf("%d ",&num[i]);
}
j=num[0];
for(i=0;i<10;i++)
{
if(j<num[i]) j=num[i];
}
printf("%d",j);
}
/*8 编写程序求出所有的水仙花数。所谓水仙花数是这样的三位数,
它的各位数字的立方和就等于该数本身。例如;153=13+53+33
*/
#include<stdio.h>
int search(int i);
main()
{
int i;
for(i=100;i<1000;i++)
{
if(search(i)) printf("%d ",i);
}
}
int search(int i)
{
int j,k,m;
j=i/10;
k=j%10;
j=i/100;
m=i%10;
j=j*j*j;
k=k*k*k;
m=m*m*m;
if(i==(j+k+m)) return 1;
else return 0;
}
温馨提示:答案为网友推荐,仅供参考