紧急求救:考试要用到的八道c语言的编程题 请高手帮忙给出答案,最好是上机调试通过的(可以先做一部分)

来源:百度知道 编辑:UC知道 时间:2024/09/25 12:18:21
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 编程计算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[(nu