请各位高手帮忙做几道c语言的编程题

8道c语言方面的编程题,都不难,请各位高手帮忙做一下
悬赏分:0 - 离问题结束还有 14 天 17 小时
1 编程计算1~100之间的所有素数之和。

2 有一个字符数组str,数组中存放一个字符串,编程将字符数组中ASCII值为奇数的字符从数组中删除掉,删除后形成的新字符串仍然存放在原来的字符数组str中。

3 编写程序求出所有满足以下条件的四位数:其前两位数字与其后两位数字之和的平方等于该数本身。例如:3025=(30+25)2

4 有一个含有10个元素的整型数组,编程将其元素按逆序存放

5 用选择法对含有10个整数的数组按由大到小的顺序进行排序。

6 假定输入的字符串中只包含字母和*号。请编写程序将字符串中的所有*删除,删除后的字符串仍存放在原来的数组中。例如,字符串中的内容为:"***ab*A*BC*DEF*G****",则删除后的字符串为:"abABCDEFG"。

7 从键盘上输入10个整数存放到一个数组中,找出其中的最大值并输出。

8 编写程序求出所有的水仙花数。所谓水仙花数是这样的三位数,它的各位数字的立方和就等于该数本身。例如;153=13+53+33

(1)
#include <stdio.h>

int isP(int n);

void main()
{
int i;
int sum=0;

for(i=2; i<101; i++)
{
if(isP(i))
sum += i;
}
printf("the sum is:%d\n",sum);
}

int isP(int n)
{
int i;
for (i=2; i<=n/2; i++)
{
if(n%i == 0)
return 0;
}
return 1;
}

(2)
#include <stdio.h>

void main()
{
char str[50];
char *p;
char *q;
scanf("%s",str);
printf("%s\n",str);

for(p = str; *p != '\0'; p++)
{
if(*p%2 == 1)
{
for(q = p+1; *q != '\0'; q++)
{
*(q-1) = *q;
}
*(q-1) = '\0';
}
}
printf("%s\n",str);
}

(3)
#include <stdio.h>

void main()
{
int i;
int a,b,c,d;//
int m,n;

for(i = 1000; i < 10000; i++)
{
a = i/1000;
b = i%1000/100;
c = i%100/10;
d = i%10;

m = a*10+b;
n = c*10+d;

if((m+n)*(m+n) == i)
printf("%d ",i);
}
}

(4)
#include <stdio.h>

void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9,};
int i,j;
int t;

for (i=0; i<10; i++)
{
printf("%d ",a[i]);
}
cout<<endl;
for(i=0,j=9; i<=j; i++,j--)
{
t = a[j];
a[j] = a[i];
a[i] = t;
}

for (i=0; i<10; i++)
{
printf("%d ",a[i]);
}
cout<<endl;
}

(6)
#include <stdio.h>

void main()
{
char str[]="***ab*A*BC*DEF*G****";
char *p;
char *q;
// scanf("%s",str);
// printf("%s\n",str);
for(p = str; *p != '\0'; )
{
if(*p == '*')
{
for(q = p+1; *q != '\0'; q++)
{
*(q-1) = *q;
}
*(q-1) = '\0';
}
else
{
p++;
}
}
printf("%s\n",str);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-01-06
我也来解答!我使用c语言来编程。
第一题答案:#include <stdio.h>

main()
{ int i;
int sum=0;

for(i=2; i<101; i++)
{ if(isP(i))
sum += i; }
printf("the sum is:%d\n",sum);
}

int isP(int n)
{
int i;
for (i=2; i<=n/2; i++)
{
if(n%i == 0)
return 0;
}
return 1;
}

(2)
#include <stdio.h>

void main()
{
char str[50];
char *p;
char *q;
scanf("%s",str);
printf("%s\n",str);

for(p = str; *p != '\0'; p++)
{
if(*p%2 == 1)
{
for(q = p+1; *q != '\0'; q++)
{
*(q-1) = *q;
}
*(q-1) = '\0';
}
}
printf("%s\n",str);
}

(3)
#include <stdio.h>

void main()
{
int i;
int a,b,c,d;//
int m,n;

for(i = 1000; i < 10000; i++)
{
a = i/1000;
b = i%1000/100;
c = i%100/10;
d = i%10;

m = a*10+b;
n = c*10+d;

if((m+n)*(m+n) == i)
printf("%d ",i);
}
}

(4)
#include <stdio.h>

void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9,};
int i,j;
int t;

for (i=0; i<10; i++)
{
printf("%d ",a[i]);
}
cout<<endl;
for(i=0,j=9; i<=j; i++,j--)
{
t = a[j];
a[j] = a[i];
a[i] = t;
}

for (i=0; i<10; i++)
{
printf("%d ",a[i]);
}
cout<<endl;
}

(6)
#include <stdio.h>

void main()
{
char str[]="***ab*A*BC*DEF*G****";
char *p;
char *q;
// scanf("%s",str);
// printf("%s\n",str);
for(p = str; *p != '\0'; )
{
if(*p == '*')
{
for(q = p+1; *q != '\0'; q++)
{
*(q-1) = *q;
}
*(q-1) = '\0';
}
else
{
p++;
}
}
printf("%s\n",str);
}
第2个回答  2006-12-31
好容易,好好看书琢磨去。
相似回答