帮忙设计2个小程序 (C语言)

一:编写程序,输入一个字符串,删除其中的空格字符,并输出删除空格前.后的字符串。
二:编写程序,输入一个整数x,输出大于该数并与该数最接近的5个素数。
如输入17,则应输出:19,23,29,31,37。
编程要求:
(1)编写一个函数prime,判断某个数是否为素数。
(2)在主函数中,输入一个函数x,求大于该数的5个最接近的素数,并存入整型数组a,最后输出a数组中的5个素数。要求调用prime函数判断某个函数是否为素数。

第1个回答  2008-05-26
1楼的程序执行结果也是对的,不过第二题不太符合题意,没有“存入整型数组a”!

一:编写程序,输入一个字符串,删除其中的空格字符,并输出删除空格前.后的字符串。
#include <stdio.h>

void main()
{
char a[100],*p,*p1;
int i=0;

printf("输入一个字符串:");
while((a[i++]=getchar())!='\n');
a[i]='\0';

printf("除空格前的字符串:%s\n",a);
p=a;
while(*p!='\0')
{
if(*p==' ')
{
p1=p;
while(*p1!='\0')
{
*p1=*(p1+1);
p1++;
}
}
else
{
p++;
}
}
printf("除空格后的字符串:%s\n",a);
}

二:编写程序,输入一个整数x,输出大于该数并与该数最接近的5个素数。

#include <stdio.h>

int prime(int n)
{
int i;

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

void main()
{
int a[5],x,c=0;

printf("输入一个整数x:");
scanf("%d",&x);
while(c<5)
{
x++;
if(prime(x))
{
a[c]=x;
c++;
}
}

printf("5个素数:");
for(c=0;c<5;c++)
{
printf("%d ",a[c]);
}
printf("\n ");
}
第2个回答  2008-05-26
#include<string.h>
#include<stdio.h>
main()
{ int i,j,k;char s[80];
gets(s);
k=strlen(s);
for(i=0,j=0;i<k;i++,j++)
{ if(s[i]==' ')
{ j-=1; }
else
{ s[j]=s[i]; }
}
s[j]='\0';
printf("%s\n",s);
}
这是第一个,小女子第一次给人回答 呵呵 给点面子吧
我这个学期刚学的C语言 虽说不是什么高手 但我调试过了 放心吧
第3个回答  2008-05-26
1.

//---------------------------------------------------------------------------

#include <stdio.h>

void fpre(char *c,int n)/*前移字符,用于去除空格*/
{
int i;
for (i=n;c[i];++i)
c[i]=c[i+1];
}

int main(void)
{
char c[80];
int i;
gets(c); /*读取字符串*/
puts(c); /*输出去空格之前的字符串*/
for (i = 0; c[i];) { /*执行去空格的操作*/
if (c[i]==' ') fpre(c,i);
if (c[i]!=' ') ++i;

}
puts(c); /*输出去空格之后的字符串*/
return 0;
}
//---------------------------------------------------------------------------

2.
//---------------------------------------------------------------------------

#include <stdio.h>
#include <math.h>

int prime(int a)
{
int i;
for (i=2; i<=(int)sqrt(a); i++) {
if (a%i==0) {
return 0;
}
}
return 1;

}
int main(void)
{
int i,a;
scanf("%d",&a);
for (a++,i=0;i<5 ; ++a) {
if (prime(a)) {
printf("%d\t",a);
i++;
}
}

return 0;
}
//---------------------------------------------------------------------------本回答被提问者采纳
相似回答
大家正在搜